• Nenhum resultado encontrado

O Crivo de Eratóstenes. Jones Albuquerque DFM-UFRPE. 2004, Recife - PE.

N/A
N/A
Protected

Academic year: 2021

Share "O Crivo de Eratóstenes. Jones Albuquerque DFM-UFRPE. 2004, Recife - PE."

Copied!
17
0
0

Texto

(1)´ O Crivo de Eratostenes. Jones Albuquerque DFM-UFRPE. 2004, Recife - PE..

(2) O Algoritmo O Crivo de Eratostenes ´ encontra o numero ´ de primos menor ou igual a algum inteiro positivo  numero ´ primo e´ um numero ´ que possui exatamente 2 fatores: ele mesmo e 1 Funcionamento o crivo comec¸a com uma lista de numeros ´  

(3).   e remove numeros naturais ´ com postos da lista descobrindo multiplos ´ de e dos demais primos sucessivamente o crivo termina quando os multiplos ´ do maior primo, menor ou igual a   , tenham sido descobertos 2.

(4) ´ Funcionamento - Crivo de Eratostenes. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30. 2 3 X 4 5 X 6 7 X 8 9 XX 10 11 XX 12 13 XX 14 15 XX 16 17 XX 18 19 XX 20 21 XX 22 23 XX 24 25 XX 26 27 XX 28 29 XX 30. 2 3 X 4 5 X 6 7 X 8 9 XX 10 11 XX 12 13 XX 14 15 XX 16 17 XX 18 19 XX 20 21 XX 22 23 XX 24 25 XX 26 27 XX 28 29 XX 30. 2 3 X 4 5 X 6 7 X 8 X 9 XX 10 11 XX 12 13 XX 14 XX 15 XX 16 17 XX 18 19 XX 20 XX 21 XX 22 23 XX 24 25 XX 26 XX 27 XX 28 29 XX 30. 2 3 X 4 5 X 6 7 X 8 X 9 XX 10 11 XX 12 13 XX 14 XX 15 XX 16 17 XX 18 19 XX 20 XX 21 XX 22 23 XX 24 25 XX 26 XX 27 XX 28 29 XX 30. 2 3 X 4 5 X 6 7 X 8 X 9 XX 10 11 XX 12 13 XX 14 XX 15 XX 16 17 XX 18 19 XX 20 XX 21 XX 22 23 XX 24 XX 25 XX 26 XX 27 XX 28 29 XX 30. 2 3 X 4 5 X 6 7 X 8 X 9 XX 10 11 XX 12 13 XX 14 XX 15 XX 16 17 XX 18 19 XX 20 XX 21 XX 22 23 XX 24 XX 25 XX 26 XX 27 XX 28 29 XX 30. . o crivo comec¸a marcando os ultiplos ´ de , comec¸ando   por ; depois marca os multiplos ´ de , comec¸ando  por , .... . o crivo termina com os multiplos ´ de , pois .    3.

(5) ˜ - Crivo de Eratostenes ´ Observac¸oes O crivo e´ invi´avel para teste de primalidade de grandes numeros ´ (centenas de d´ıgitos), isto porque a complexidade de tempo e´   , e  cresce exponencialmente com o numero ´ de d´ıgitos Um implementac¸a˜ o sequencial ¨ do crivo gerencia trˆes estruturas de dados: um vetor boleano cujos elementos correspondem ao numeros ´ naturais que est˜ao sendo crivados um inteiro correspondendo ao ultimo ´ primo encontrado um inteiro usado como ´ındice de loop incrementado como multiplos ´ do primo corrente que s˜ao marcados como numeros ´ compostos 4.

(6) Paralelismo de Controle no Crivo Dois passos: encontrar o proximo ´ numero ´ primo retirar da lista os multiplos ´ deste primo, comec¸ando com o seu quadrado Estrat´egia: processadores diferentes s˜ao respons´aveis por marcar multiplos ´ de primos diferentes: - processador 1 marca os multiplos ´ de 2; - processador 2 marca os multiplos ´ de 3;.  

(7)  como?. 5.

(8) ´ Memoria Compartilhada P1. P1. P1. Index. Index. Shared Memory 2. Index. Primo Corrente. 3. 4. . . .. n-1 n. Problemas? Se um grupo de processadores executando assincronamente compartilham acesso a` mesma estrutura de dados de uma maneira desistruturada, ineficiˆencias ou erros podem ocorrer. 6.

(9) Problema 1 - Mesmo Primo Pode acontecer de dois processadores usarem o mesmo primo para marcar os seus multiplos. ´ O algoritmo n˜ao executa erradamente, mas desperdic¸a processamento Normalmente um processador acessa o valor do primo corrente e comec¸a procurando no vetor at´e encontrar outra c´elula n˜ao marcada (novo primo) Se um segundo processador acessa o valor do primo corrente antes do primeiro processador atualiz´alo, ent˜ao ambos os processadores adotar˜ao o mesmo valor de primo para marcar multiplos ´. 7.

(10) ´ Problema 2 - Numero Composto Pode acontecer de um processador marcar multiplos ´ de um numero ´ composto (n˜ao primo) Assuma que um processador A e´ respons´avel por marcar os multiplos ´ de 2, mas antes dele marcar qualquer c´elula, um processador B encontra o proximo ´ primo 3, e um processador C busca pela proxima ´ c´elula n˜ao-marcada Como a c´elula 4 ainda n˜ao foi marcada, o processador C retornar´a com o valor 4 como o primo mais recente!. 8.

(11) An´alise de Complexidade Considera¸coes ˜ Problemas de ineficiˆencia como os descritos n˜ao ocorrem Tempo para encontrar o proximo ´ primo n˜ao ser´a considerado Concentrac¸a˜ o da an´alise nas operac¸oes ˜ de marcar c´elulas (multiplos ´ de primos). 9.

(12) ¨ Algoritmo Sequencial Assuma 1 unidade de tempo para 1 processador marcar 1 c´elula Suponha  primos menores ou iguais a   . Deno   $ % $ #& (' ( taremos estes primos !   #"    

(13) $ $ $  ( #" (  &) A quantidade total de tempo que um processador gasta marcando seus multiplos ´ e´ :. )+*-,/. 0132546 2 6  

(14)  8 ) *:,;.. )9*:,;. 0132<44 7 8 7 8 24 0132 >4 7 2>. Por exemplo, para   e´ ? ??. (. ?. ##. )+*-,/. 01325=4 7 8 2=. a soma dos tempos. 10.

(15) Algoritmo Paralelo Sempre que um processador est´a desocupado, ele pega o proximo ´ primo e marca seus multiplos ´ Todos os processadores continuam neste procedimento at´e que o primeiro primo maior que   seja encontrado Encontrando todos os primos menores que 1000: 2 processadores gastam 706 unidades de tempo; 3 processadores gastam 499 unidades de tempo. 11.

(16) ˜ Observac¸oes A execuc¸a˜ o para marcar todos os multiplos ´ de 2 e´ o limite inferior para complexidade de tempo O limite superior para speedup e´ ( ? # para  ( ?. . ??;@. BA#A. ) 2,83. Mais de 3 processadores n˜ao implica em tempos menores!. . maior C limite superior de speedup maior para mais processadores?. 12.

(17) Paralelismo de Dados (Crivo) Processadores trabalham juntos para marcar multiplos ´ de cada novo primo encontrado Cada processador ser´a respons´avel por um segmento do vetor representando os numeros ´ naturais at´e. . Por que paralelismo de dados? cada processador aplica a mesma operac¸a˜ o (marcar multiplos ´ de um primo) a sua porc¸a˜ o do conjunto de dados Mecanismo de comunicac¸a˜ o: - memoria ´ compartilhada - troca de mensagens. 13.

(18) Crivo com Troca de Mensagens D. processadores. Cada processador recebe. F G G. ) ,E 7. numeros ´ naturais.  . Todos os primos menores que   assim como o primeiro primo maior que   est˜ao na lista de numeros ´ naturais controlada pelo primeiro processador Funcionamento: processador 1 encontrar´a o proximo ´ primo e divulgar´a seu valor para todos os outros processadores (broadcast). Ent˜ao cada processador marca na sua lista de numeros ´ compostos todos os multiplos ´ do novo primo divulgado. Este processo continua at´e que o primeiro processador encontre um primo maior que   , ent˜ao o algoritmo termina 14.

(19) An´alise de Complexidade Considera¸coes ˜ Tempo de encontrar o proximo ´ primo e´ ignorado Concentrac¸a˜ o no tempo gasto para marcar numeros ´ compostos Considerac¸a˜ o do tempo de comunicac¸a˜ o para divulgar o primo do primeiro processador para os demais (broadcast) Assuma que s˜ao necess´arias H unidades de tempo para um processador marcar um multiplo ´ de um primo como sendo um numero ´ composto Suponha  primos menores ou iguais a.   15.

(20) An´alise de Complexidade Considera¸coes ˜. . .

(21). #& . O tempo Denotemos estes primos como I   total que um processador gasta para marcar os numeros ´ compostos e´ : EPO EPO EPO J )LK ,NM EPO L) K ,RM L) K ,RS M L) K ,NM. .   7Q8 8  7Q8 " 7Q8 2 > 7 T H Assumimos que o processador 1 encontra o novo primo e comunica aos demais  F U ?V processadores um por vez. Se o processador 1 gasta W unidades de tempo cada vez que ele passa um numero ´ para outro processador, ent˜ao o tempo total de comunicac¸a˜ o para todos os  primos e´ :. # F U ?V

(22) W. 16.

(23) Exemplos Supondo . (. ?. ? Supondo W ( car multiplos) ´. ### # H. (comunicac¸a˜ o. (. 100 * mar-. M´aximo speedup e´ alcanc¸ado com 11 processadores (Figura 1-11 do livro texto) Tempo de comunicac¸a˜ o e´ o fator de queda de speedup (Figura 1-12 do livro texto). 17.

(24)

Referências

Documentos relacionados

QUANDO TIVER BANHEIRA LIGADA À CAIXA SIFONADA É CONVENIENTE ADOTAR A SAÍDA DA CAIXA SIFONADA COM DIÂMTRO DE 75 mm, PARA EVITAR O TRANSBORDAMENTO DA ESPUMA FORMADA DENTRO DA

nesta nossa modesta obra O sonho e os sonhos analisa- mos o sono e sua importância para o corpo e sobretudo para a alma que, nas horas de repouso da matéria, liberta-se parcialmente

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

3.3 o Município tem caminhão da coleta seletiva, sendo orientado a providenciar a contratação direta da associação para o recolhimento dos resíduos recicláveis,

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Neste estudo foram estipulados os seguintes objec- tivos: (a) identifi car as dimensões do desenvolvimento vocacional (convicção vocacional, cooperação vocacio- nal,

5 “A Teoria Pura do Direito é uma teoria do Direito positivo – do Direito positivo em geral, não de uma ordem jurídica especial” (KELSEN, Teoria pura do direito, p..

1 JUNIOR; ANDRADE; SILVEIRA; BALDISSERA; KORBES; NAVARRO Exercício físico resistido e síndrome metabólica: uma revisão sistemática 2013 2 MENDES; SOUSA; REIS; BARATA