Listas de Prioridades Cinéticas Tese de Mestrado de: Guilherme Dias da Fonseca (bolsista CAPES) Orientadora: Celina M. H. de Figueiredo 03/2003.

Slides:



Advertisements
Apresentações semelhantes
6. Andando na Superfície de Resposta Técnica de otimização baseada em planejamentos fatoriais Etapas distintas: Modelagem e deslocamento Modelagem: ajuste.
Advertisements

© Otimização CEFET/RJ Centro Federal de Educação Tecnológica Celso Suckow da Fonseca Rio de Janeiro 1.
IntroduÇão Vou apresentar aqui, neste portfólio, tudo que aprendi, ou pelo menos tentei aprender no decorrer desse 2º trimestre, que é em geral 2 itens:
Algoritmos Genéticos Algoritmos Genéticos com Parâmetros Contínuos Estéfane G. M. de Lacerda DCA/UFRN Maio/2008.
Categorias Computacionais N Um modelo categorial para bancos de dados Vítor De Araújo
O Processo de Poisson Série: Processos Estocásticos Disciplina: Métodos Matemáticos 1C Dennis S. Poisson, Sceaux, France.
Árvores Binárias Estruturas de Dados Melissa Marchiani Palone Zanatta.
Prof. Thiago Costa ADMINISTRAÇÃO DA PRODUÇÃO II TEORIA DA PREVISÃO DOS ESTOQUES.
Tópicos Preliminares Algorítmos I.
EDIFICAÇÕES - SUBSEQUENTE
Medições – parte I: Precisão.
Confiabilidade Estrutural
Probabilidade e Estatística Aplicadas à Contabilidade II
IX ELAVIO FABIANA SIMÕES E SILVA ORIENTADORA: VITÓRIA PUREZA
DISTRIBUIÇÃO AMOSTRAL E ESTIMAÇÃO
ESTATÍSTICA . SÍNTESE DO 10.º ANO . RELAÇÕES BIDIMENSIONAIS (11.º ANO)
CÁLCULO NUMÉRICO Aula 1 – Introdução ao Programa de
Ordenação: Terminologia
Métodos de Pesquisa: Seqüencial e Binária
CONCEITOS INICIAIS E M.U PG 01-TEORIA 1
CINEMÁTICA I AULA Nº 1 (2º/2016) Movimento Retilíneo Uniforme (MRU)
Equilíbrio de Corpos Rígidos
4. Complexidade média Este capítulo considera a complexidade média, examinando casos ilustrativos de análise de algoritmos e de projeto de estruturas.
Capítulo VIII – Técnicas de Ordenação
Professora Paula Melo Silva
PIT – PROGRAMA INTERNO DE TREINAMENTO 2015
Análise de Algoritmo Profº Me. Jeferson Bussula Pinheiro
FUNDAMENTO DE PROGRAMAÇÃO
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS
Aplicações adicionais da derivada
Probabilidade e Estatística Aplicadas à Contabilidade II
Arranjo Físico Celular
ESTÁTICA Introdução às Estruturas Ano Lectivo
Análise Sintática Botton Up Diomara M. R. Barros
ESTATÍSTICA AULA 04 ANÁLISE EXPLORATÓRIA DE DADOS I – Unidade 3
Aplicações adicionais da derivada
Pesquisa e Ordenação de Vetor
Aulas 17 e 18 Limites, limites laterais, limites infinitos, assíntota vertical e propriedades do limite.
Aula 07 e 08 - Funções Definição de função, representação de funções, função crescente e decrescente, função linear , polinomial, racionais e algébricas.
7 Resultados de Medições Indiretas
Física Experimental IV – aula 5
O que você deve saber sobre
Estruturas de Dados aula 4
Complexidade de Algoritmos
Prof. Artur Aula Introdutória
Enfoque sistêmico na agricultura Fundamentos Estatísticos
Função polinomial do 2ograu
Trabalho de Métodos Numéricos
Linguagem PASCAL Tipos Estruturados
FUNÇÕES (Aula 7) MATEMÁTICA Prof.Rafael Pelaquim Ano 2011
Árvores Binárias de Pesquisa e Balanceamento usando Árvores AVL
Modelagem Matemática de Sistemas Dinâmicos Introdução. 3. 2
Grafos Árvores (introdução) Anjolina Grisi de Oliveira
Mestrado Profissional em Física Médica
Filas.
Introdução à lógica de programação utilizando Scratch Aula 3
PROJETO FATORIAL 23 Considere que três fatores A, B e C, cada um em dois níveis O projeto experimental é denominado projeto fatorial 23 Oito combinações.
Geometria Computacional
TOP 10 - DINÂMICO matemátICA MÓDULO 1
O que você deve saber sobre
Prof. Rafael Mesquita Listas Encadeadas Prof. Rafael Mesquita
Metodologia da Pesquisa em Ensino de Ciências I
Probabilidade e Estatística Aplicadas à Contabilidade II
Metodologia da Pesquisa em Ensino de Ciências I
ALGORITMOS E SUA ANÁLISE: UMA INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
Ementário Noções de hardware e software. Conceitos Fundamentais.
Problemas de Transporte (Redes)
MATEMÁTICA.
O Impacto no custeio dos RPPS com a mudança na taxa de juros
MATEMÁTICA.
Transcrição da apresentação:

Listas de Prioridades Cinéticas Tese de Mestrado de: Guilherme Dias da Fonseca (bolsista CAPES) Orientadora: Celina M. H. de Figueiredo 03/2003

Introdução Introdução Heap Torneio Heater Hanger FCD Conclusão

Estruturas de Dados Cinéticas Fecho convexo: Menor polígono convexo envolvendo um conjunto de pontos. E se os pontos estiverem em movimento??? Introdução Heap Torneio Heater Hanger FCD Conclusão

Estruturas de Dados Cinéticas Outras alternativas Repetições Dimensão adicional Operações das EDC: Inicializar Consultar atributo Avançar no tempo Alterar trajetória Introdução Heap Torneio Heater Hanger FCD Conclusão

Problemas Dinâmicos Pontos podem ser inseridos e removidos Novas operações: Inserir Remover Introdução Heap Torneio Heater Hanger FCD Conclusão

Um Problema Mais Simples Determinar o ponto extremo em uma direção Problema unidimensional Equivalente a: Determinar o maior valor em um conjunto de números reais Introdução Heap Torneio Heater Hanger FCD Conclusão

Envelope Superior Envelope superior: sequência de funções máximas Estamos computando um envelope superior, porém as trajetórias não são previamente definidas Paradigma de linha de varredura Introdução Heap Torneio Heater Hanger FCD Conclusão

Envelope Superior Máximo de segmentos no envelope superior de n funções onde cada par de funções se intercepta no máximo  vezes:  (n) Se as funções são definidas apenas em um intervalo:  +2 (n) Introdução Heap Torneio Heater Hanger FCD Conclusão

Envelope Superior Máximo de segmentos no envelope superior de n funções onde cada par de funções se intercepta no máximo  vezes:  (n) Se as funções são definidas apenas em um intervalo:  +2 (n) Introdução Heap Torneio Heater Hanger FCD Conclusão  (n)=n  (n)=2n-1  (n)=  (n  (n))  (n) é quase linear em n, com  constante

Listas de Prioridades Cinéticas Determinam o elemento máximo Operações: Inicializar Inserir Remover Avançar no tempo Determinar máximo Alterar trajetória Estruturas: Heap Cinético Torneio Cinético Heater Cinético Hanger Cinético Redução a Fecho Convexo Dinâmico Introdução Heap Torneio Heater Hanger FCD Conclusão

Heap Cinético Introdução Heap Torneio Heater Hanger FCD Conclusão

Heap Árvore binária cheia onde todo vértice é maior que seus descendentes Suporta inserção e remoção em tempo O(lg n) E se os valores mudarem continuamente? Necessidade de trocar a posição de elementos Introdução Heap Torneio Heater Hanger FCD Conclusão

Agendamos um evento para cada nó interno O evento é agendado no primeiro instante em que o nó intercepta um de seus filhos Processar evento (no heap): Trocar os dois vértices Reagendar até 3 eventos Fila de Eventos Introdução Heap Torneio Heater Hanger FCD Conclusão

Heap Cinético Fila: (4,1); (5,3) Introdução Heap Torneio Heater Hanger FCD Conclusão

Heap Cinético Fila: (4,1); (5,3) Fila: (5,3) Introdução Heap Torneio Heater Hanger FCD Conclusão

Heap Cinético Fila: (4,1); (5,3) Fila: (5,3) Fila: (3,1) Introdução Heap Torneio Heater Hanger FCD Conclusão

Análise de Complexidade Quanto tempo é gasto processando cada evento? Resposta: O(lg n), implementando a fila como um heap ou similar Quantos eventos são processados? Resposta: Desconhecida. Introdução Heap Torneio Heater Hanger FCD Conclusão

Análise de Complexidade No máximo quantos eventos são processados caso 1.As funções sejam lineares 2.Nenhum elemento seja inserido ou removido Resposta: A soma dos níveis dos elementos Introdução Heap Torneio Heater Hanger FCD Conclusão

Análise de Complexidade Nível Nós x x x x x = = = = = ____ 52 eventos Introdução Heap Torneio Heater Hanger FCD Conclusão

Limite Inferior Retas tangentes a parábola Cada elemento aparece uma vez no envelope superior (ponto de tangência) Cada evento sobe exatamente um elemento em exatamente um nível Introdução Heap Torneio Heater Hanger FCD Conclusão

Limite Superior Função potencial:  (e, t) = número de ancestrais de e, no tempo t, que interceptam e após t Obs:  (e, t) < nível de e  (e 1,2, t+) =  (e 1,2, t-)  (e 3, t+) <  (e 3, t-)  (p, t+) =  (p, t-)  (c, t+) =  (c, t-) - 1 Introdução Heap Torneio Heater Hanger FCD Conclusão

Complexidade de Tempo Sem inserções e remoções: Retas (ou pseudo-retas): Eventos:  (n lg n) Tempo: O(n lg 2 n) Versão (lg n)-ária: Eventos:  (n lg n / lg lg n) Tempo: O(n lg 2 n / lg lg n) Com inserções e remoções: Retas (ou pseudo-retas): Eventos: O(n 3/2 (lg n) 1/2 ),  (n lg n) Localidade: O(1) Introdução Heap Torneio Heater Hanger FCD Conclusão

Torneio Cinético Introdução Heap Torneio Heater Hanger FCD Conclusão

Torneio Introdução Heap Torneio Heater Hanger FCD Conclusão Algoritmo estático de divisão e conquista Elementos nas folhas Cada nó interno contém seu maior filho

Torneio Cinético Introdução Heap Torneio Heater Hanger FCD Conclusão Agenda-se um evento para cada nó interno no próximo momento em que um filho intercepta seu pai Ao processar um evento, até O(lg n) eventos podem ser reagendados Localidade: O(lg n)

Torneio Cinético Introdução Heap Torneio Heater Hanger FCD Conclusão Fila: (4,1); (4,2); (3,5)

Torneio Cinético Introdução Heap Torneio Heater Hanger FCD Conclusão Fila: (4,1); (4,2); (3,5) Fila: (3,5); (1,5)

Torneio Cinético Introdução Heap Torneio Heater Hanger FCD Conclusão Fila: (4,1); (4,2); (3,5) Fila: (3,5); (1,5) Fila: (1,3)

Análise de Complexidade Introdução Heap Torneio Heater Hanger FCD Conclusão Alterações na árvore: O(  (n) lg n) Com inserções e remoções: O(  +2 (n) lg n) Com retas, sem inserções e remoções: O(n lg n) Com retas, com inserções e remoções: O(n lg n  (n)) Cada alteração leva tempo O(lg n)

Heater Cinético Introdução Heap Torneio Heater Hanger FCD Conclusão

Treap Introdução Heap Torneio Heater Hanger FCD Conclusão Ordenação de heap com relação a prioridade Árvore binária de busca com relação a chave Existe e é único Não necessariamente balanceado Se as prioridades forem números reais aleatórios, a altura esperada é O(lg n)

Heater Introdução Heap Torneio Heater Hanger FCD Conclusão As chaves são aleatórias A fila de eventos é igual a do heap Para inserir ou remover elementos, assim como processar eventos, são necessárias rotações Localidade: O(1)

Análise de Complexidade Introdução Heap Torneio Heater Hanger FCD Conclusão Probabilidade do i-ésimo maior elemento ser pai do (i+1)-ésimo maior elemento é O(1/i) Pois isto só ocorre se as chaves de i e i+1 forem consecutivas dentre as chaves de 1 a i+1 Complexidades de tempo iguais as do torneio cinético, porém com localidade O(1) e randomizadas

Hanger Cinético Introdução Heap Torneio Heater Hanger FCD Conclusão

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Balanceamento randomizado Não necessita de rotações Fila de eventos e processamento de eventos iguais ao do heap Algoritmos simples Análise delicada Complexidades iguais ao heater e torneio

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8 Bits Aleatórios:

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8 Bits Aleatórios:

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Hanger Introdução Heap Torneio Heater Hanger FCD Conclusão Bits Aleatórios: Inserir 6 Inserir 3 Inserir 2 Inserir 4 Inserir 5 Inserir 8 Remover 8

Análise de Complexidade Introdução Heap Torneio Heater Hanger FCD Conclusão Nível esperado do n-ésimo elemento é O(lg n) Prova por indução em n, a partir de recorrência com coeficientes binomiais: Partindo de E(L n )=O(lg n), provamos que a probabilidade do n-ésimo elemento ser pai do (n+1)- ésimo elemento é O(1/n)

Redução a Fecho Convexo Dinâmico Introdução Heap Torneio Heater Hanger FCD Conclusão

Dualidade Ponto-Reta Introdução Heap Torneio Heater Hanger FCD Conclusão Ponto: (a,b) Reta: y = ax - b

Fecho Convexo Dinâmico Introdução Heap Torneio Heater Hanger FCD Conclusão Responde consultas como próximo ponto do fecho ou ponto extremo em uma direção em tempo O(lg n) Permite inserções e remoções em tempo O(lg n lg lg n) Lista de Prioridades Cinética mais eficiente conhecida, porém: Restrita a funções lineares Ineficiente na prática FCD: O(n lg n lg lg n) x O(n lg 2 n  (n) / lg lg n) (torneio e hanger (lg n)-ários)

Comparação das Estruturas Aplicação Problemas em Aberto Introdução Heap Torneio Heater Hanger FCD Conclusão

Comparando as Estruturas Introdução Heap Torneio Heater Hanger FCD Conclusão Eficientes: Torneio, Heater, Hanger e FCD Versão k-ária: Heap, Torneio e Hanger Localidade ótima: Heap, Heater e Hanger Determinísticas: Heap, Torneio e FCD Interesse prático: Heap, Torneio, Heater e Hanger Interesse teórico: FCD Restrita a retas: FCD

Aplicação: k-ésimo Nível Introdução Heap Torneio Heater Hanger FCD Conclusão Terceiro nível de um arranjo de curvas

Problemas Abertos Introdução Heap Torneio Heater Hanger FCD Conclusão Complexidades do Heap Cinético Estruturas mais eficientes Limites inferiores Estrutura com complexidade semelhante a redução ao FCD, porém não restrita a retas

Muito obrigado! Dúvidas? Críticas? Comentários? Sugestões??? Introdução Heap Torneio Heater Hanger FCD Conclusão