Técnicas de Paralelização
|
|
- Brian Affonso Duarte
- 5 Há anos
- Visualizações:
Transcrição
1 Técnicas de Paralelização 2 Particionar e dividir para conquistar Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved.
2 Particionamento O problema é dividido em partes ou tarefas, cada uma processada individualmente. Dividir para conquistar O problema é dividido em subproblemas com a mesma forma que o problema principal. Geralmente prossegue recursivamente a dividir cada subproblema em subproblemas menores. Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.1
3 Exemplos Operações em sequências de números Algoritmos de ordenação Integração numérica N-body problema Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.2
4 Particionamento Pode ser aplicado aos dados (particionamento de dados) Pode ser aplicado às funcionalidades de um programa (decomposição funcional) Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.3
5 Particionar uma sequência de valores em partes e adicionar as partes tamanho = n/p; scatter(valores, tamanho, root=master); Cacalulcar somas parcias reduce_add(parcialsum sum, root=master); Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.4
6 Dividir para conquistar Somar recursivamente uma lista de números: (Versão sequencial) def soma( ar ): if (ar.size == 1): return ar[0] if (ar.size == 2): return ar[0]+ ar[1] s1 = ar[0:ar.size/2] s2 = ar[ar.size/2: ar.size] parcial1 = soma(s1) parcial2 = soma(s2) return parcial1 + parcial2 Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.5
7 Construção de uma árvore Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.6
8 Dividir a lista em partes: (reusar processos em todos os níveis da árvore) P processos log 2 P passos Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.7
9 Resultados parciais Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.8
10 Versão paralela Processo P0 dividir (s1, s1, s2) send (s2, P4) dividir (s1, s1,s2) send ( s2, P2) dividir (s1, s1,s2) send ( s2, P1) soma_parcial = soma(s1) recv ( soma_parcial1, P1) soma_parcial += soma_parcial1 recv ( soma_parcial1, P2) soma_parcial += soma_parcial1 recv ( soma_parcial1, P4) soma_parcial += soma_parcial1 Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.9
11 Versão paralela Processo P4 recv ( s1, P0) dividir (s1, s1, s2) send (s2, P6) dividir (s1, s1,s2) send ( s2, P5) soma_parcial = soma(s1) recv ( soma_parcial1, P5) soma_parcial += soma_parcial1 recv ( soma_parcial1, P6) soma_parcial += soma_parcial1 send ( soma_parcial, P0) Código de P1, P2, P3, P5, P6, P7 Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.10
12 Quadtree Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.11
13 Dividir uma imagem Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.12
14 Integração numérica Uma técnica geral de divisão e conquista consiste em dividir a região continuamente em partes e existe uma função de optimização que decide quando esta está suficientemente dividida Exemplo: Integração numérica: divide a área em várias partes e cada uma delas pode ser calculada por um processo separado Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.13
15 Integração numérica usando rectângulos Cada região pode ser calculada por uma aproximação utilizando retângulos - fixados à esquerda f(x) f(p) a p q b x Area= f(p) Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.14
16 Integração numérica usando rectângulos - Retângulo centrado f(x) f(p) f(q) a p q b x Area= f( (p+q)/2) Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.15
17 Integração numérica usando rectângulos - Regra do trapézio f(x) f(p) f(q) a p q b x Area=0.5 ( f(p)+f(q) ) Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.16
18 Integração numérica usando rectângulos - Decomposição Estática Pseudo código Pseudo código SPMD Processo P i Obter intervalo [a,b] e numero de intervalos Fazer Broadcast Dividir intervalo - particionamento de numero de intervalos. Cada processo calcula area atribuida Calcular área global usando operação de redução com operação de somar if (i == master) { printf ( Introduza o número intervalos ); scanf ( %d, &n); } bcast(&a,&b,n, P group ); region = (b-a)/p; start=a + region * i; end = start + region; d=(b-a)/n; area=0.0; for ( x = start; x <end; x = x+d) area = area +f(x) + f(x+d); area=0.5 * area * d; reduce_add(&integral, &area, P group ); Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M Pearson Education Inc. All rights reserved. 4.17
Exemplo de Arquitetura: Cliente/Servidor com Mestre e Escravos. Interface. Fator de speed-up. Speed-up
Exemplo de Arquitetura: Cliente/Servidor com Mestre e s Arquitetura Mestre- Speed-up / Cliente Mestre Prof João Paulo A Almeida (jpalmeida@infufesbr) Cliente 2015/01 - INF02799 Com alguns slides de Parallel
Leia maisTécnicas de Paralelização
Técnicas de Paralelização 3 Linha de Produção (Pipelining) 5.1 Computação em pipeline Divisão do problema num conjunto de tarefas que têm de ser concluídas uma após outra (base da programação sequencial).
Leia maisMPI - Continuação. Qual o output do programa: from mpi4py import MPI comm = MPI.COMM_WORLD nprocs = comm.get_size() rank = comm.
Qual o output do programa: from mpi4py import MPI comm = MPI.COMM_WORLD nprocs = comm.get_size() rank = comm.get_rank() MPI - Continuação if rank == 0: print ("Myrank: %s:" % rank) for proc in range(1,
Leia maisAnálise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Professor Ariel da Silva Dias Algoritmos Divisão e Conquista Construção incremental Resolver o problema para um sub-conjunto dos elementos de entrada; Então, adicionar
Leia maisProgramação em sistemas de memória distribuída
Programação em sistemas de memória distribuída (Message-Passing Computing) Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd Edition, by B.
Leia maisDivisão e conquista. Eficiência de divisão e conquista
Divisão e conquista Divisão: resolver recursivamente problemas mais pequenos (até caso base) Conquista: solução do problema original é formada com as soluções dos subproblemas á divisão quando o algoritmo
Leia maisDivisão e conquista. Há divisão quando o algoritmo tem pelo menos 2 chamadas recursivas no corpo
Divisão e conquista Divisão: resolver recursivamente problemas mais pequenos (até caso base) Conquista: solução do problema original é formada com as soluções dos subproblemas á divisão quando o algoritmo
Leia maisAlgoritmos Paralelos - ordenação
Algoritmos Paralelos - ordenação Fernando Silva DCC-FCUP (Alguns dos slides são baseados nos do livro Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers, 2nd
Leia maisUniversidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet
Aula 17 Quick Sort Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno Ordenação
Leia maisDecisões arquiteturais importantes. Projeto arquitetural x projeto de algoritmos. Decomposição de dados. Decomposição de dados
Processamento Paralelo Técnicas de Decomposição de Problemas Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) Decisões arquiteturais importantes 1. Divisão de responsabilidades entre partes (componentes)
Leia maisAlgoritmos de Ordenação: QuickSort
Algoritmos de Ordenação: QuickSort ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 10/2008 Material
Leia maisProgramação Paralela e Distribuída
Programação Paralela e Distribuída Referência: Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd Edition, by B. Wilkinson & M. Allen, 2004
Leia maisEstruturas de Dados 2
Estruturas de Dados 2 Técnicas de Projeto de Algoritmos Dividir e Conquistar IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/83 Projeto de Algoritmos por Divisão
Leia maisArquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas
Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Desenvolvimento de Aplicações Paralelas (gec.di.uminho.pt/lesi/ap10203/aula06aplicaçõespar.pdf) João Luís Ferreira Sobral Departamento
Leia maisIntrodução à Programação Estruturada Parte 2. Material da Prof. Ana Eliza
Introdução à Programação Estruturada Parte 2 Material da Prof. Ana Eliza programa Passo 1: Definir o problema O que fazer? Passo 2: Especificar a solução Como fazer? Passo 3: Codificar a solução Passo
Leia maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 13: Ordenação: MergeSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: reifortes@iceb.ufop.br
Leia maisCURSO DE ESTRUTURA DE DADOS MÓDULO: ALGORITMOS DE ORDENAÇÃO E PESQUISA PROFESSORA: DANIELA ELOISE FLÔR COLABORADORA: MARIA CAROLINA SILA VANUCHI
CURSO DE ESTRUTURA DE DADOS MÓDULO: ALGORITMOS DE ORDENAÇÃO E PESQUISA PROFESSORA: DANIELA ELOISE FLÔR COLABORADORA: MARIA CAROLINA SILA VANUCHI O QUE SÃO ALGORITMOS DE ORDENAÇÃO? São algoritmos que organizam
Leia maisDivisão-e-Conquista ( ) CAL ( ) MIEIC/FEUP. ./rr (1) Técnicas de Concepção de Algoritmos
1 Técnicas de Concepção de Algoritmos (1ª parte): divisão e conquista R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Fevereiro de 2011 2 Divisão e Conquista (divide and
Leia maisProgramação Concorrente e Paralela
projeto de programas paralelos 2016 PCAM problema particionamento comunicacao aglomeracao mapeamento desenhada para memória distribuída mas muitas idéias em comum Particionamento idéia é expor oportunidades
Leia maisALGORITMOS I. Procedimentos e Funções
Procedimentos e Funções Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 1 MÓDULOS São blocos de instruções que realizam tarefas específicas. Carregado uma vez e pode ser executado quantas vezes
Leia maisAlgoritmos e Estruturas de Dados I Linguagem C
Algoritmos e Estruturas de Dados I (DCC/003) Algoritmos e Estruturas de Dados I Linguagem C Aula Tópico 11 Recursividade 1 Recursão Na linguagem C, uma função pode chamar outra função. A função main()
Leia maisSSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves. ICMC/USP São Carlos
Funções SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves ICMC/USP São Carlos Slides baseados no material gentilmente cedido pela Profa Simone Senger Souza 2 MODULARIZAÇÃO Um
Leia maisDivisão e Conquista. Norton T. Roman. Apostila baseada nos trabalhos de Cid de Souza, Cândida da Silva e Delano M. Beder
Divisão e Conquista Norton T. Roman Apostila baseada nos trabalhos de Cid de Souza, Cândida da Silva e Delano M. Beder Divisão e Conquista Construção incremental Ex: Consiste em, inicialmente, resolver
Leia maisAula 3: Algoritmos: Formalização e Construção
Aula 3: Algoritmos: Formalização e Construção Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Formalização e Pseudo-Código Programação de
Leia maisCIC 110 Análise e Projeto de Algoritmos I
CIC 110 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 09 Consultas de Intervalo Consulta de Intervalo Neste capítulo, discutimos estruturas
Leia maisAula 4 ESTRUTURAS DE REPETIÇÃO (FOR)
Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR) Profa. Dra. Elisa Yumi Nakagawa 1o semestre/2017 Estruturas de Controle l ESTRUTURA SEQUENCIAL l ESTRUTURAS CONDICIONAIS l l l Estrutura Condicional Simples Estrutura
Leia maisAlgoritmos de ordenação Quicksort
Algoritmos de ordenação Quicksort Sumário Introdução Descrição do quicksort Desempenho do quicksort Pior caso Melhor caso Particionamento balanceado Versão aleatória do quicksort Análise do quicksort Pior
Leia maisLinguagem C ESTRUTURA DE CONTROLE
ESTRUTURA DE CONTROLE REPETIÇÃO PARA / ENQUANTO Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 1 ESTRUTURA DE REPETIÇÃO - Utilizando PARA Na repetição uma sequência de comandos deve ser executada
Leia maisAnálise de algoritmos
Análise de algoritmos Introdução à Ciência de Computação II Baseados nos Slides do Prof. Dr. Thiago A. S. Pardo Análise de algoritmos Existem basicamente 2 formas de estimar o tempo de execução de programas
Leia maisAnálise de Problemas Recursivos. Algoritmos e Estruturas de Dados Flavio Figueiredo (
Análise de Problemas Recursivos Algoritmos e Estruturas de Dados 2 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Lembrando de Recursividade Procedimento que chama a si mesmo Recursividade permite
Leia mais5. Análise de Complexidade de Algoritmos. João Pascoal Faria (versão original) Ana Paula Rocha (versão 2003/2004) Luís Paulo Reis (versão 2005/2006)
5. Análise de Complexidade de Algoritmos João Pascoal Faria (versão original) Ana Paula Rocha (versão 2003/2004) Luís Paulo Reis (versão 2005/2006) FEUP - MIEEC Prog 2-2006/2007 Introdução Algoritmo: conjunto
Leia maisAlgoritmos de Ordenação. Profº Carlos Alberto T. Batista
Algoritmos de Ordenação Profº Carlos Alberto T. Batista E-mail: carlos.batista@facape.br carlos36_batista@yahoo.com.br Por que ordenar os dados? Encontrar elementos em uma lista torna-se algo simples e
Leia maisDivisão e Conquista. Fernando Lobo. Algoritmos e Estrutura de Dados II. É uma técnica para resolver problemas (veremos outras técnicas mais adiante).
Divisão e Conquista Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 27 Divisão e Conquista É uma técnica para resolver problemas (veremos outras técnicas mais adiante). Consiste em 3 passos: Dividir
Leia maisOrdenação: MergeSort. Prof. Túlio Toffolo BCC202 Aula 14 Algoritmos e Estruturas de Dados I
Ordenação: MergeSort Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 14 Algoritmos e Estruturas de Dados I DIVISÃO E CONQUISTA Motivação É preciso revolver um problema com uma entrada grande
Leia maisIntrodução na Computação Distribuída e Paralela
ISUTIC 2017 Introdução na Computação Distribuída e Paralela Docente: MSc. Angel Alberto Vazquez Sánchez Características da matéria 90 horas no semestre Conferências, Aulas Práticas, Laboratórios e Seminários
Leia maisFundamentos IV. Clarimar J. Coelho. Departamento de Computação. November 26, 2014
Fundamentos IV Integração numérica Clarimar J. Coelho Departamento de Computação November 26, 2014 Clarimar, Departamento de Computação Aula 16, Integração numérica 1/21 Regra de Simpson 3/8 Clarimar,
Leia maisProjeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista ( )
Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista (2.1-2.2) DECOM/UFOP 2013/1 5º. Período Anderson Almeida Ferreira Adaptado do material desenvolvido por Andréa Iabrudi
Leia maisParadigmas de Projetos de Algoritmos
Paradigmas de Projetos de Algoritmos Luciana Assis 9 de junho de 2016 Luciana Assis (UFVJM) 9 de junho de 2016 1 / 36 1 Introdução 2 Força Bruta 3 Abordagem Incremental ou Construtiva 4 Recursão 5 Divisão
Leia maisINTRODUÇÃO À PROGRAMAÇÃO
INTRODUÇÃO À PROGRAMAÇÃO 1. Ano -LCC-MIERSI DCC_FCUP Nelma Moreira Objetivos Introdução aos conceitos fundamentais da programação de computadores tendo por base o paradigma imperativo e a linguagem C.
Leia maisIntrodução aos Métodos Numéricos
Introdução aos Métodos Numéricos Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Erros e Aproximações Numéricas Sistemas de Equações Lineares.
Leia maisIntrodução aos Métodos Numéricos
Introdução aos Métodos Numéricos Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo específico Integração Numérica Conteúdo temático Conceitos básicos
Leia maisExemplo de Arquitetura: Cliente/Servidor com Mestre e Escravos. Interface em IDL. Dynamic Invocation Interface. Exemplo invocação DII em Java
Exemplo de Arquitetura: Cliente/Servidor com Mestre e s Arquitetura Mestre- Speed-up / Cliente Mestre Prof João Paulo A Almeida (jpalmeida@infufesbr) Cliente 2009/01 - INF02799 Com alguns slides de Parallel
Leia maisCOMPLEXIDADE DE ALGORITMOS
COMPLEXIDADE DE ALGORITMOS Algoritmos Seqüência de instruções necessárias para a resolução de um problema bem formulado Permite implementação computacional COMPLEXIDADE DE ALGORITMOS Um algoritmo resolve
Leia maisIntrodução à Programação
Introdução à Programação 1. Ano LCC-MIERSI DCC - FCUP Nelma Moreira Objectivos Introdução aos conceitos fundamentais da programação de computadores tendo por base o paradigma imperativo e a linguagem C.
Leia maisClassificação e Pesquisa
Classificação e Pesquisa Pesquisa de Dados - Seqüencial - Binária Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Onde Estamos Ementa Pesquisa de Dados Seqüencial Binária
Leia maisAED2 - Aula 11 Problema da separação e quicksort
AED2 - Aula 11 Problema da separação e quicksort Projeto de algoritmos por divisão e conquista Dividir: o problema é dividido em subproblemas menores do mesmo tipo. Conquistar: os subproblemas são resolvidos
Leia maisOrdenação: QuickSort. Prof. Túlio Toffolo BCC202 Aula 15 Algoritmos e Estruturas de Dados I
Ordenação: QuickSort Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 15 Algoritmos e Estruturas de Dados I QuickSort Proposto por Hoare em 1960 e publicado em 1962. É o algoritmo de ordenação
Leia maisCIC 110 Análise e Projeto de Algoritmos I
CIC 110 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 02 C++ e bibliotecas Vector C++ Os programas que iremos usar vai ser em C++ e ter o
Leia maisOpenMP. Slides baseados em tutorial de Tim Mattson da Intel
OpenMP Slides baseados em tutorial de Tim Mattson da Intel O que é OpenMP? Uma especificação para um conjunto de diretivas de compilação, rotinas de biblioteca e variáveis de sistema que podem ser utilizadas
Leia maisAlgoritmos. Estrutura de Repetição. enquanto. while. Grupos de Slides No 5. Prof. SIMÃO
Algoritmos Estrutura de Repetição enquanto while Grupos de Slides No 5. Prof. SIMÃO 1 Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto LUCAS Estrutura de Repetição enquanto % enquanto
Leia maisQuickSort CI/2015. Análise e Projeto de Algoritmos. - Prof. Lucídio A. F. Cabral
QuickSort 1 Quicksort A[p q] A[q+1 r] Ordena um vetor A[p r] Divisão Particiona um vetor A em 2 subvetores A[p..q] e A[q+1..r], de tal modo que cada elemento de A[p..q] seja menor ou igual a cada elemento
Leia maisComparação com Divisão e Conquista
Programação Dinâmica Programação Dinâmica Fernando Lobo Algoritmos e Estrutura de Dados II Outra técnica de concepção de algoritmos, tal como Divisão e Conquista ou Estratégias Greedy. O termo Programação
Leia mais1. O número de bactérias numa cultura pode ser estimado pela expressão:
Funções 1. O número de bactérias numa cultura pode ser estimado pela expressão: N e kt sendo N a população inicial, k a taxa de crescimento e t o tempo de evolução. Escreva uma função para calcular o número
Leia maisC alculo Num erico Integra c ao Num erica Ana Paula Ana Paula C alculo Num erico
Integração Numérica Sumário 1 Aula Anterior 2 Fórmulas Repetidas Aula Anterior Aula Anterior Aula Anterior Aula Anterior Integração numérica Fórmulas Fechadas de Newton-Cotes Regra do Retângulo Integração
Leia maisO termo Programação Dinâmica é um bocado infeliz.
Programação Dinâmica Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 18 Programação Dinâmica Outra técnica de concepção de algoritmos, tal como Divisão e Conquista ou Estratégias Greedy. O termo Programação
Leia maisEstruturas de Dados Aula 14: Recursão
Estruturas de Dados Aula 14: Recursão Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 2; Estruturas de Dados e seus Algoritmos (Szwarefiter, et. al): Capítulo 1; Algorithms
Leia maisEstruturas de Dados Aula 14: Recursão 19/05/2011
Estruturas de Dados Aula 14: Recursão 19/05/2011 Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 2; Estruturas de Dados e seus Algoritmos (Szwarefiter, et. al): Capítulo 1;
Leia maisProgramação Concorrente e Paralela
Comunicação por Troca de Mensagens 2016 Troca de Mensagens forma básica de comunicação em ambientes de memória distribuída outras camadas podem ser construídas sobre trocas de mensagens básicas mas também
Leia maisAnálise de Complexidade para algoritmos iterativos e recursivos
Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa Análise de Complexidade para algoritmos iterativos e recursivos Algoritmos iterativos - complexidade expressa através de somatórios. Algoritmos
Leia maisAlgoritmos de Ordenação: MergeSort
Algoritmos de Ordenação: MergeSort ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 10/2008 Material
Leia maisExercícios - Factorial
Exercícios - Factorial Escrever uma função fact(n) que calcula o factorial de um número n. fact(n) = 1*2*...*N e fact(0)=1 Introdução 1.1 Exercícios - MDC mdc(15,24) Máximo Divisor Comum Algoritmo: 15
Leia maisMAC 2166 Introdução à Computação para Engenharia
MAC 2166 Introdução à Computação para Engenharia PROVA 3 QUESTÃO 1 (VERSÃO A). Simule a execução do programa abaixo, destacando a saída do programa. A saída do programa é tudo que resulta dos comandos
Leia maisProgramação I Aula 7 Resolução numérica de equações
Programação I Aula 7 Resolução numérica de equações Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 7 Resolução numérica de equações 2018 1 / 20 Nesta aula 1 Resolução numérica
Leia maisMétodos Numéricos Zeros Posição Falsa e Ponto Fixo. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina
Métodos Numéricos Zeros Posição Falsa e Ponto Fixo Professor Volmir Eugênio Wilhelm Professora Mariana Kleina Método da Posição Falsa 2 Método da Posição Falsa O processo consiste em dividir/particionar
Leia maisEstrutura de Dados Conceitos Iniciais
Engenharia de CONTROLE e AUTOMAÇÃO Estrutura de Dados Conceitos Iniciais Aula 04 DPEE 08 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria
Leia mais, se x = y. , se x > y
Exercício 1 Seja a função definida do 2 : Aula Prática 08 f(x, y) = x 2-3x + y 2 4 2, se x < y, se x = y, se x > y Escreva um programa para gerar a tabela de valores dessa função (conforme o exemplo a
Leia maisAlgoritmos. Estrutura de Repetição. para - passo. for. Grupos de Slides No 7. Prof. SIMÃO
Algoritmos Estrutura de Repetição para - passo for Grupos de Slides No 7. Prof. SIMÃO Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto LUCAS 1 Estrutura de Repetição para passo for
Leia maisProva 1 PMR2300 / PMR3201 1o. semestre 2015 Prof. Thiago Martins
Prova 1 PMR2300 / PMR3201 1o. semestre 2015 Prof. Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço. Indique na linha seguinte quatro das cinco questões abaixo que devem
Leia maisLista de exercícios de Análise Numérica
Lista de exercícios de Análise Numérica 1. Calcule 10 log x dx : 6 a) Usando a formula dos trapézios; b) Usando a fórmula do trapézio repetida 8 vezes c) Delimite o erro nos dois casos e compare-os. 2.
Leia maisImplementando uma demonstração
Implementando uma demonstração Agora vamos rever um exemplo para entender melhor essa estrutura: https://www.pluralsight.com/guides/introduction-to-the-fork-join-framework Vamos implementar algo simples,
Leia maisAnálise e Síntese de Algoritmos. Programação Dinâmica CLRS, Cap. 15
Análise e Síntese de Algoritmos Programação Dinâmica CLRS, Cap. 15 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais curtos
Leia maisC alculo Num erico Integra c ao Num erica Ana Paula Ana Paula C alculo Num erico
Integração Numérica Sumário 1 Introdução 2 Fórmulas Fechadas de Newton-Cotes 3 Análise do Erro Introdução Introdução Introdução Introdução Serão estudados aqui métodos numéricos para calcular uma aproximação
Leia maisVariáveis e instruções de repetição
Variáveis e instruções de repetição Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisProgramação I Aula 16 Mais exemplos de recursão Pedro Vasconcelos DCC/FCUP
Programação I Aula 16 Mais exemplos de recursão DCC/FCUP DCC/FCUP 2019 1/ 28 Nesta aula 1 Desenhar árvores 2 Calcular potências 3 Ordenação Quicksort DCC/FCUP 2019 2/ 28 Desenhar árvores Vamos fazer uma
Leia maisIntrodução à Programação Aula 7 Resolução numérica de equações
Introdução à Programação Aula 7 Resolução numérica de equações Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 7 Resolução numérica de equações 2017 1 / 19 Nesta
Leia maisPLANO DE UNIDADE DIDÁTICA- PUD
Professor: Marcus Vinícius Midena Ramos Coordenação: Ricardo Argenton Ramos Data: 03/08/2010 Página: 1 de 5 EMENTA: Conceitos básicos de linguagens. Histórico, classificação e principais aplicações de
Leia maisModelos de Execução Bolsas de Tarefas
Modelos de Execução Bolsas de Tarefas November 5, 2009 Modelos SPMD/MPI todos os processos executam o mesmo código quantidade de trabalho determinada estaticamente: tarefas pre-definidas quantidade de
Leia maisSolução de Recorrências
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Solução de Recorrências Algoritmos e Estruturas de Dados I Natália Batista https://sites.google.com/site/nataliacefetmg/ nataliabatista@decom.cefetmg.br
Leia maisBusca em Memória Primária Estrutura de Dados II
Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Busca em Memória Primária Estrutura de Dados II Estrutura de Dados II COM10078 2017-I Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br
Leia maisBusca em Memória Primária Estrutura de Dados II
Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Busca em Memória Primária Estrutura de Dados II COM10078 Estrutura de Dados II Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br
Leia maisAlgoritmos de Ordenação
Algoritmos de Ordenação Introdução à Ciência da Computação Prof. Edison Ishikawa Objetivo Apresentar diferentes algoritmos de ordenação de dados Mostrar como analisar os algoritmos em termos de tempo de
Leia maisALGORITMOS AVANÇADOS. UNIDADE III Algoritmo de Ordenação por Intercalação (Mergesort) Luiz Leão
UNIDADE III Algoritmo de Ordenação por Intercalação (Mergesort) Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 3.1 - Definição 3.2 - Dividir para conquistar 3.3 - Problema da
Leia maisOPTIMIZAÇÃO NÃO LINEAR
OPTIMIZAÇÃO NÃO LINEAR Opção IV - LESI Método de penalidade para PSI 2004/2005 Optimização não linear - Opção IV - LESI 1 Formulação - Programação Semi-Infinita (PSI) min f(x) x R n s.t. g i (x, t) 0,
Leia maisModelagem Computacional. Parte 3 2
Mestrado em Modelagem e Otimização - RC/UFG Modelagem Computacional Parte 3 2 Prof. Thiago Alves de Queiroz 2/2016 2 [Cap. 4] BURDEN, R. L.; FAIRES, J. D. Numerical Analysis (9th ed). Cengage Learning,
Leia maisDGPAPP Tutorial. Introdução. Daniel Centeno Einloft Vinicius Meirelles Pereira. 20 May 2014
DGPAPP Tutorial Daniel Centeno Einloft Vinicius Meirelles Pereira 20 May 2014 Qualquer um tem o direito de copiar, modicar e distribuir cópias deste documento, sob os termos da GNU Free Documentation License
Leia maisAlgoritmos Paralelos usando CGM/MPI. Edson Norberto Cáceres e Siang Wun Song DCT/UFMS e DCC/IME/USP Aula 05
Algoritmos Paralelos usando CGM/MPI Edson Norberto Cáceres e Siang Wun Song DCT/UFMS e DCC/IME/USP Aula 05 Algoritmos Paralelos BSP/CGM Objetivos Descrever algumas das principais técnicas para o desenvolvimento
Leia maisESTRUTURA DE DADOS (TCC )
ESTRUTURA DE DADOS (TCC-00.319) Listas lineares Cristina Boeres 2 Estrutura de Dados! Listas lineares! estática! dinâmicas! Como manipulá-las:! pilhas! filas Listas Lineares 3! fácil manipulação! agrupa
Leia maisAlgoritmos. Estrutura de decisão de múltipla escolha. escolha-caso. switch case. Grupos de Slides No 4. Prof. SIMÃO
Algoritmos Estrutura de decisão de múltipla escolha escolha-caso switch case Grupos de Slides No 4. Prof. SIMÃO Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto LUCAS 1 Estrutura de
Leia maisÉ interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser
É interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser executado 1 Fazendo estimativas e simplificações... O número
Leia maisCAL ( ) - MIEIC/FEUP Programação Dinâmica ( )
AL (-) - MIEI/FEUP Programação Dinâmica (--4) Técnicas de oncepção de Algoritmos (ª parte): programação dinâmica R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes AL, MIEI, FEUP Fevereiro de
Leia maisAnálise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Métodos de busca - seqüêncial - binária Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Onde Estamos Ementa Revisão: Estrutura de dados;crescimento
Leia maisRecursividade. Prof. Jesus José de Oliveira Neto
Recursividade Prof. Jesus José de Oliveira Neto Algoritmos podem ser definidos de duas formas: Forma iterativa ou não recursiva: utiliza laços de repetição (while, for, do/while) Forma recursiva: métodos
Leia maisDesafios de Programação
Desafios de Programação 2018.1 Programação Dinâmica É um método de projeto de algoritmos que utiliza a memorização para melhorar a eficiência de um algoritmo. Método parecido com o de divisão e conquista
Leia maisSCC Capítulo 3 Análise de Algoritmos - Parte 2
SCC-501 - Capítulo 3 Análise de Algoritmos - Parte 2 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos
Leia maisEstruturas de Controle
Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura Condicional Composta Seleção entre duas ou mais Seqüências de Comandos ESTRUTURA DE REPETIÇÃO
Leia maisSub-rotinas David Déharbe
Sub-rotinas David Déharbe 1 1 Objetivos da aula Os conceitos de sub-rotina, funções e procedimentos; Como usar sub-rotinas em C: parâmetros de sub-rotinas: parâmetros formais e parâmetros efetivos. passagem
Leia maisIntegral Definida. a b x. a=x 0 c 1 x 1 c 2 x 2. x n-1 c n x n =b x
Integral definida Cálculo de área Teorema Fundamental do cálculo A integral definida origina-se do problema para determinação de áreas. Historicamente, como descrito na anteriormente, constitui-se no método
Leia maisAditya Y. Bhargava. Novatec
Aditya Y. Bhargava Novatec Original English language edition published by Manning Publications Co., Copyright 2015 by Manning Publications. Portuguese-language edition for Brazil copyright 2017 by Novatec
Leia maisESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza
ESTRUTURAS CONDICIONAIS Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais
Leia maisAnálise de Algoritmos Parte 4
Análise de Algoritmos Parte 4 Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br BCC202 Aula 07 Algoritmos e Estruturas de Dados I Como escolher o algoritmo mais adequado para uma situação? (continuação)
Leia mais