distância list ranking

Documentos relacionados
10. CPU (Central Processor Unit) Conjunto das instruções Estrutura interna Formato das instruções...

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

Subconjuntos Especiais

IFRN. Conexidade e Distância. Prof. Edmilson Campos

Matemática Discreta - 08

Pointer Jumping. odg(v) e idg(v): graus de saída e entrada do vértice v V. um vértice r tal que. O vértice r é dita raíz de T

Manual Remessa Bancária

Algoritmos Paralelos - ordenação

Prof. Daniela Barreiro Claro

I. Conjunto Elemento Pertinência

Deadlocks. Sistemas Operacionais - Professor Machado

2 Conceitos Básicos. onde essa matriz expressa a aproximação linear local do campo. Definição 2.2 O campo vetorial v gera um fluxo φ : U R 2 R

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

4.4 Limite e continuidade

Exercícios: Recursão

Aula 10: Escalonamento da CPU

16/Nov/2012 Aula Circuitos RL (CC). Corrente alternada 16.1 Circuitos RL em corrente

UNIVERSIDADE ESTADUAL DE CAMPINAS FACULDADE DE EDUCAÇÃO. Elaborado por Gildenir Carolino Santos Grupo de Pesquisa LANTEC

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access


INDUÇÃO MATEMÁTICA. Primeiro Princípio de Indução Matemática

ENG1000 Introdução à Engenharia

Emparelhamentos Bilineares Sobre Curvas

1 Visão Geral. 2 Instalação e Primeira Utilização. Manual de Instalação do Gold Pedido

OBSERVAÇÕES: EXERCÍCIOS

O Cálculo λ sem Tipos

AV1 - MA (1,0) (a) Determine o maior número natural que divide todos os produtos de três números naturais consecutivos.

Seqüências. George Darmiton da Cunha Cavalcanti CIn - UFPE

Indução Magnética 1/11

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

MANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS

Eleição de Líder. Alysson Neves Bessani Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Ondas EM no Espaço Livre (Vácuo)

Matrizes de Transferência de Forças e Deslocamentos para Seções Intermediárias de Elementos de Barra

Diagrama de Impedâncias e Matriz de Admitância de um Sistema Elétrico

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I

Banco de Dados I. Prof. Edson Thizon

INF 1010 Estruturas de Dados Avançadas. Indexação em Espaços Multidimensionais DI, PUC-Rio Estruturas de Dados Avançadas 2012.

Teoria da Complexidade

Algoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo

UNIVERSIDADE ESTADUAL DO CEARÁ. Relatório Final: Estrutura de Dados II

Matemática Discreta. Leandro Colombi Resendo. Matemática Discreta Bacharel em Sistemas de Informações

Manual de Utilização. Ao acessar o endereço chegaremos a seguinte página de entrada: Tela de Abertura do Sistema

Planejamento - 2. Definição de atividades Sequenciamento das atividades. Mauricio Lyra, PMP

Caderno 2: 55 minutos. Tolerância: 20 minutos. (não é permitido o uso de calculadora)

Prática. Exercícios didáticos ( I)

XXXII Olimpíada Brasileira de Matemática GABARITO Segunda Fase

Aplicações Diferentes Para Números Complexos

MA 109 Matemática Básica. Petronio Pulino DMA/IMECC/UNICAMP pulino/ma109/

Características das Figuras Geométricas Espaciais

1 Circuitos Pneumáticos

Optimização e Algoritmos (2004/2005)

Recorrendo à nossa imaginação podemos tentar escrever números racionais de modo semelhante: 1 2 =

Programação Futsal Máster - JOGOS DO SESI 2016

Manual do Usuário. Quiz Online

Andrés Eduardo Coca Salazar Tutor: Prof. Dr. Zhao Liang

PRINCÍPIOS DA MULTIPLICAÇÃO, DA ADIÇÃO E DA INCLUSÃO-

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira.

2 Casamento Inexato, Alinhamento de Sequências e Programação DRAFT

Unidade 1: O Computador

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

Aula 1 Conjuntos Numéricos

CATÁLOGO DE CUSTOMIZAÇÕES Conferência com Coletores (WEB)

Arquivos Seqüenciais Atualização em Lote

Resolução de sistemas de equações lineares: Método de eliminação de Gauss

Primeira Lista de Exercícios de Métodos Numéricos II Primeiro semestre de 2015

COBRANÇA BANCÁRIA CAIXA

Módulo de Princípios Básicos de Contagem. Segundo ano

Da linha poligonal ao polígono

Disciplina: Eletrônica de Potência (ENGC48) Tema: Técnicas de Modulação

AULA 07 Distribuições Discretas de Probabilidade

Matrizes e Sistemas Lineares. Professor: Juliano de Bem Francisco. Departamento de Matemática Universidade Federal de Santa Catarina.

Introdução a Ciência da Computação Sistemas Numéricos Conversão entre Bases PROFESSORA CINTIA CAETANO

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

Boa Prova! arcsen(x 2 +2x) Determine:

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

Matemática - Módulo 1

Árvores UFES. Teoria dos Grafos. CC/EC/Mestrado

Ficha Prática 5: Cap 3.Princípios Elementares de Contagem

Aula 5. Uma partícula evolui na reta. A trajetória é uma função que dá a sua posição em função do tempo:

Forma Normal de Boyce-Codd

1 - POLÍGONOS REGULARES E CIRCUNFERÊNCIAS

EDITAL SELEÇÃO DE ESCOLAS DA REDE PÚBLICA PARA PARTICIPAÇÃO NO PROJETO CULTURA NA ESCOLA

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

REGULAMENTO ESPECÍFICO DE BASQUETEBOL DESPORTO ESCOLAR

Números inteiros Z ± 7º Ano / 2013

ALGA - Eng.Civil - ISE / Matrizes 1. Matrizes

7. A importância do aterramento na Qualidade da Energia.

Manual de Programação TED1000 versão TC100 Ethernet

BC1424 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros, estruturas e alocação de memória

Progressão aritmética ( PA )

Se A =, o evento é impossível, por exemplo, obter 7 no lançamento de um dado.

Álgebra Linear I - Aula 20

Carlos de Salles Soares Neto Segundas e Quartas, 17h40 às 19h10

REGULAMENTO ESPECÍFICO BASQUETEBOL. (Revisto em Setembro de 2014)

Impressora Latex série 300. Garantia limitada

Conjuntos Finitos e Infinitos

Transcrição:

List Ranking

List Ranking (1) Seja L uma lista representada por um vetor s tal que s[i] é o nó sucessor de i na lista L, para u, o último elemento da lista L, s[u]=u. A distância entre i e j, d L (i,j), é o número de nós entre i e j mais 1. O problema do list ranking consiste em computar para cada i L, a distância entre i e o último elemento (j), denotado rank L (i)=d L (i,j).

List Ranking (2) O número de nós da lista cujos sucessores não estão armazenados no mesmo processador pode variar de 0 a n/p. Mesmo se todos os sucessores estiverem em um dado processador, após uma aplicação de duplicação recursiva (pointer jumping), não há garantia que isto ainda ocorra nos passos seguintes.

List Ranking (3) 0 1 2 3

List Ranking (4) O número de rodadas de comunicação pode chegar a O(log n), uma vez que pode ser necessária uma comunicação para obter o sucessor de um de seus elementos. A simples aplicação de duplicação recursiva não leva a um algoritmo CGM eficiente.

List Ranking (5) Selecionar um conjunto de elementos i* L, bem distribuídos em L, de tal forma que a distância de qualquer i L a i* possa ser computada em O(log k p) aplicações de pointer jumping. r-ruling set

r-ruling set Um r-ruling set de L é um subconjunto de elementos selecionados da lista L com as seguintes propriedades: Dois vizinhos nunca são selecionados. A distância entre qualquer elemento não selecionado ao próximo elemento selecionado é no máximo r.

Estratégia (1) Computar um O(p²)-ruling set R com R =O(n/p) e difundir R para todos os processadores. O subconjunto R é representado por uma lista ligada onde cada elemento i é atribuído um ponteiro para o próximo elemento j de R com respeito à ordem induzida por L.

Estratégia (2) Todo processador efetua seqüencialmente o list ranking de R, computando para cada i R sua distância ao último elemento da lista.

Estratégia (3) A distância dos demais elementos da lista é obtida através da duplicação recursiva até que um elemento de R seja alcançado. Todos os outro elementos da lista têm no máximo a distância O(p²) do próximo elemento de R na lista.

3 2 3 2 2 3 2 3 2 2 12 9 7 4 2 12 9 7 4 2 2 1 1 2 1 1 1 12 9 7 4 2 12 11 10 9 8 7 6 5 4 3 2 1

Compressão determinística de listas (1) O objetivo desta compressão é a determinação de um O(p²)-ruling set em O(log p) passos de comunicação. Uma compressão determinística de listas é composta de uma seqüência alternada de fases de compressão e de concatenação. Na fase de compressão, seleciona-se um subconjunto de elementos da lista L,utilizando um esquema de rotulação (deterministic coin tossing).

Compressão determinística de listas (2) A fase de concatenação consiste da construção de uma lista ligada, através da duplicação recursiva, com os elementos selecionados na fase de compressão.

Compressão determinística de listas (3) Um s-intervalo de comprimento k é uma seqüência I=(i 1,..., i k ) de elementos da lista tal que s[i j ] = i j+1, 1 <= j <= k-1. Os dois vizinhos n 1 e n 2 do s-intervalo I são tais que s[n 1 ]=i 1 e s[i k ]=n 2. Um s-intervalo maximal I de elementos da lista cujos elementos estão todos no mesmo processador é dito s-intervalo local. Um s-intervalo maximal I de elementos da lista tal que quaisquer dois elementos consecutivos não estão no mesmo processador é denominado s- intervalo não-local.

Compressão determinística de listas (3) O rótulo l(i), i L, na fase de compressão é o número do processador p que armazena o nó i. Neste esquema, cada elemento de L tem no máximo p rótulos distintos. Seja M={i, i+1,...,i+k} L, tal que l(i) l(s([i]), i L, onde s[i] é um máximo local se l(i)<l(s[i])>l(s[s[i]]).

Compressão determinística de listas (4) Selecionando apenas máximos locais não há garantia de distância menor que O(p). Pode haver L ={j,j+1,..., j+k} L, onde l(s[j])=l(j), j L e k>p. Selecionamos todos os segundos elementos.

Algoritmo p²-ruling set Entrada: L representada pelo vetor s. Saída: R L de nós selecionados. Cada processador localmente marca todos seus elementos como não-selecionados. Cada processador executa para cada um dos elementos armazenados: se l(i)<l(s[i])>l(s[s[i]]) então s[i] é selecionado.

Algoritmo p²-ruling set Cada processador localmente determina seus s-intervalos locais. Para cada s- intervalo local de comprimento maior que 2, todo segundo elemento é marcado como selecionado. Se algum s-intervalo tem comprimento menor que 2 e nenhum de seus vizinhos tem um rótulo menor, então ambos elementos são marcados como não-selecionados.

Algoritmo p²-ruling set para k=1 até log p faça Cada processador localmente executa para cada elemento i da lista: se s[i] é não-selecionado então s[i]=s[s[i]]. Cada processador localmente executa para cada elemento i da lista: se (i,s[i] e s[s[i]] estão selecionados) E (l(i)<l(s[i])>l(s[s[i]])) E (l(i) l(s[i])) E (l(s[i] l(s[s[i]]) então marcar s[i] como nãoselecionado.

Cada processador examina seus s-intervalos locais. Para cada s-intervalo de comprimento maior que dois, todo segundo elemento é marcado como nãoselecionado. Se um s-intervalo tem comprimento dois e nenhum de seus vizinhos tem um rótulo menor, então ambos elementos são marcados como não-selecionados. O processador que armazena o último elemento de L é marcado como selecionado.

Algoritmo p²-ruling set - desempenho Teorema O Algoritmo computa um p²-ruling set R, onde R =O(n/p) usando O(log² p) rodadas de comunicação e O(n/p) computação local por rodada.

Tempo Lema 1 Após a k-ésima iteração no Passo 2, não existem mais que dois elementos selecionados entre quaisquer 2 k elementos subseqüentes.

Lema 2 Após cada execução do Passo 2.3, a distância de dois elementos subseqüentes selecionados, com respeito aos ponteiros atuais (representado pelo vetor s), é no máximo O(p).

Lema 3 Após a k-ésima iteração do Passo 2.3, dois elementos subseqüentes com respeito aos ponteiros originais (representado pelo vetor s) têm distância O(2 k ) com respeito à lista original L.

Lema 4 Quaisquer dois elementos subseqüentes selecionados não distam um do outro mais que O(p²) com respeito à lista original L.

Teorema O problema de list ranking para uma lista L com n vértices pode ser resolvido no modelo CGM com p processadores e O(n/p) memória local por processador usando O(log p) rodadas de comunicação e O(n/p) computação local por rodada.

List Ranking - PRAM

List Ranking - CGM