algoritmos aleatórios para optimização de consultas artigo apresentado por: daniel...
TRANSCRIPT
![Page 1: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/1.jpg)
Algoritmos Aleatórios Para Optimização de consultas
Artigo apresentado por:Daniel Martins 110370082David Martins 080316033
![Page 2: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/2.jpg)
Introdução
• Optimização de Queries é um processo dispendioso.
• Algoritmos Aleatórios aplicados problemas de optimização combinatória:– Simulated Annealing– Iterative Improvement
![Page 3: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/3.jpg)
Algoritmos Aleatórios
• Cada solução para um problema de optimização pode ser pensado como um estado
• Cada estado tem um custo associado
• O seu objectivo é encontrar o estado com minímo custo global
![Page 4: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/4.jpg)
• Existem 2 tipos de movimentos associado ao estado :– DownHill– UpHill
• Minímo Local
• Minímo Global
![Page 5: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/5.jpg)
Algoritmo Iterative Improvement
![Page 6: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/6.jpg)
• Uma optimização começa num estado aleatório
• Implementa a solução através de sucessivos movimentos downHill até encontrar o minímo local
• Repete-se indefinidamente até encontrar uma condição de paragem
![Page 7: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/7.jpg)
Algoritmo Simulated Annealing
![Page 8: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/8.jpg)
• Aceita movimentos upHill• O loop interior do algoritmo é chamado
estado• Cada estado é executado através do
parâmetro temperatura• Temperatura controla movimentos upHill• Cada estado termina quando atinge o
equilibrio
![Page 9: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/9.jpg)
Algoritmo Two Phase Optimization
• É uma combinação dos 2 algoritmos anteriores
• Fase 1:– O II corre durante um pequeno período de tempo
• Fase 2:– O SA corre com uma temperatura baixa inicial
![Page 10: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/10.jpg)
Estado de Espaço
• Corresponde a uma estratégia de acessos para uma consulta ser optimizada
• Join Processing Tree– Folhas são as relações base– Nós internos são operadores join– Arestas indicam o fluxo da informação
![Page 11: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/11.jpg)
Função Vizinho
![Page 12: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/12.jpg)
Função Custo
• É utilizada apenas para a entrada e saída de cada estratégia de dados.
• É baseada nas seguintes suposições:– Sem pipelining– Buffering minímo para todas as operações– Execução on-the-fly nas projecções
![Page 13: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/13.jpg)
Comportamento como uma função do tempo
![Page 14: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/14.jpg)
Qualidade do Output
![Page 15: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/15.jpg)
Tempo de optimização da Query
• Tamanho da query• Variância nos parâmetros do catálogo• Tipo de Query
![Page 16: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/16.jpg)
Análise Estado de Espaço
• Um custo escalonado é o rácio de um custo de uma estratégia sobre o custo minímo local.
• A média do rácio específico VS o menor custo minímo local é afectada pela variância e pela consulta.
![Page 17: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/17.jpg)
• Podemos concluir que o maior minímo local não de todo melhor que a média do estado aleatório mas está relacionado com o custo de pequenas variâncias
![Page 18: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/18.jpg)
• Na experiência foram contados o número de minímo locais visitados com custo distintos
• Para cada consulta mediu-se a distância a distância média entre 2 minímos locais visitados
![Page 19: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/19.jpg)
![Page 20: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/20.jpg)
Explicação do comportamento como uma função do tempo
• SA começa com um estado aleatório que tende para um custo de área elevado– Temperatura mantém-se elevada– Grande número de movimentos upHill– Grande probabilidade de aceitar movimentos
upHill
![Page 21: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/21.jpg)
• II consegue descobrir o minímo local apenas com algumas optimizações locais
• Consegue atingir rapidamente o fundo através de movimentos downHill
![Page 22: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/22.jpg)
![Page 23: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/23.jpg)
• 2PO atinge rapidamente o fundo (fase II)
• 2PO melhora rapidamente procurando na área (fase SA)
• Termina em menor tempo em relação aos outros 2 algoritmos
![Page 24: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/24.jpg)
Conclusões
• Foram utilizados 2 algoritmos SA e II para optimização de grandes join queries
• II é melhor que o SA inicialmente, ao longo do tempo SA consegue superar o II
![Page 25: Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins110370082 David Martins080316033](https://reader035.vdocuments.pub/reader035/viewer/2022062700/552fc131497959413d8d579c/html5/thumbnails/25.jpg)
• Foi realizado o estudo da função custo sobre o espaço de estado da query
• Através disto explicou-se o comportamento do 2 algoritmos
• Conclui-se que o 2PO tem performance superior aos outros 2 algoritmos