O Crivo de Eratóstenes. Jones Albuquerque DFM-UFRPE. 2004, Recife - PE.
Texto
(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)
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