Luís Fernando Schultz Xavier da Silveira. 12 de maio de 2010
|
|
- Marco Antônio Arantes Santana
- 5 Há anos
- Visualizações:
Transcrição
1 Monóides e o Algoritmo de Exponenciação Luís Fernando Schultz Xavier da Silveira Departamento de Informática e Estatística - INE - CTC - UFSC 12 de maio de 2010
2 Conteúdo 1 Monóides Definição Propriedades Exemplos 2 Produtórios e Exponenciação em Monóides Definição Propriedades 3 O Algoritmo de Exponenciação Enunciado Prova de Corretude Análise da Complexidade Implementação 4 Aplicações Exponenciação Modular Cálculo Eficiente dos Números de Fibonacci
3 Monóides Definição Definição Definição Seja M um conjunto e : M M uma função. Dizemos que (M, ) é um monóide se as seguintes propriedades forem satisfeitas: é associativa. Existe um elemento 1 M tal que, para todo x M, 1 x = x 1 = x.
4 Monóides Propriedades Propriedades Proposição (Unicidade da Unidade) Seja (M, ) um monóide e 1, 1 M tais que, para todo x M, 1 x = x 1 = 1 x = x 1 = x. Então 1 = 1. Demonstração. Temos que 1 1 = 1 e 1 1 = 1, logo 1 = 1. Com isso podemos definir a unidade de um monóide.
5 Monóides Exemplos Exemplos São exemplos de monóides: (R, ) onde 1 = 1. (Z, +) onde 1 = 0. (R 2 2, ), onde 1 = (Σ, ), onde 1 = ε.» (F(A, A), ), onde 1(x) = x. (L(A, A), ), onde 1(x) = x. (B(A, A), ), onde 1(x) = x. (2 A, ), onde 1 = {}. (2 A, ), onde 1 = A. (2 A, ), onde 1 = {}.
6 Produtórios e Exponenciação em Monóides Definição Produtórios e Exponenciação em Monóides Definição Seja (M, ) um monóide e f : Z M uma função. Definimos indutivamente 8 b >< 1, b < a! f(i) = b >: f(a) f(i), senão, i=a i=a+1 onde a, b Z. Definição Seja (M, ) um monóide, k N um número natural e x M um elemento qualquer. Definimos k 1 x k = x. i=0
7 Produtórios e Exponenciação em Monóides Propriedades Propriedades dos Produtótios em Monóides Proposição Seja (M, ) um monóide, f : Z M uma função e a, c, b Z números inteiros satisfazendo a c b. Então!! c 1 b 1 b 1 f(i) f(i) = f(i). i=a i=c i=a
8 Produtórios e Exponenciação em Monóides Propriedades Propriedades dos Produtótios em Monóides Demonstração. Por indução em c a. No caso base a = c, logo!!!! c 1 b 1 a 1 b 1 f(i) f(i) = f(i) f(i) i=a i=c i=a = 1! b 1 f(i) i=a b 1 = f(i). i=a i=a
9 Produtórios e Exponenciação em Monóides Propriedades Propriedades dos Produtótios em Monóides Demonstração. Para o passo indutivo, assuma a < c. Portanto!! c 1 b 1 f(i) f(i) = f(a) i=a i=c = f(a) = f(a) c 1 i=a+1 c 1 i=a+1 b 1 i=a+1 f(i) f(i)!!!! b 1 f(i) i=c!! b 1 f(i) i=c! b 1 f(i) = f(i). i=a
10 Produtórios e Exponenciação em Monóides Propriedades Propriedades da Exponenciação em Monóides Corolário. Seja (M, ) um monóide, x M um elemento qualquer e m, n N números naturais. Então x m+n = x m x n. Demonstração. x m x n = m 1 i=0 = x m+n. x! n 1 i=0 x! = m 1 i=0 x! (m+n) 1 i=m 1 xa = (m+n) 1 i=0 x
11 Produtórios e Exponenciação em Monóides Propriedades Propriedades da Exponenciação em Monóides Proposição Seja (M, ) um monóide, x M um elemento qualquer e m, n N números naturais. Então (x m ) n = x mn. Demonstração. A prova será por indução em n. Para n = 0 o resultado é trivial. Seja n N qualquer e assuma que (x m ) n = x mn. Então (x m ) (n+1) = (x m ) n (x m ) 1 = x mn x m = x mn+m = x m(n+1).
12 Produtórios e Exponenciação em Monóides Propriedades Propriedades da Exponenciação em Monóides Como uma observação final, note que 0 x é 1 para todo x. Inclusive, 0 0 = 1.
13 O Algoritmo de Exponenciação Enunciado Enunciado Seja (M, ) um monóide, x M em elemento qualquer e k N um número natural. Considere então o seguinte algoritmo: exp(x, k) 0 a, n, p x, k, 1 1 enquanto n 0 faça 2 se n mod 2 = 1 então 3 p p a 4 a a a 5 n n 2 6 retorne p
14 O Algoritmo de Exponenciação Prova de Corretude Prova de Corretude Teorema O algoritmo anterior corretamente computa o valor x k. Demonstração. A prova será através da seguinte invariante de loop: Sempre que o algoritmo passa pela linha 1, p a n = x k. Na primeira vez que ele chega à linha 1, essa invariante é trivialmente satisfeita, pois p = 1, a = x e n = k em virtude da atribuição na linha 0.
15 O Algoritmo de Exponenciação Prova de Corretude Prova de Corretude Demonstração. Suponha que o algoritmo chegou à linha 1 satisfazendo a invariante. Vamos mostrar que se ele retornar, a invariante ainda continua sendo satisfeita. O algoritmo irá voltar à linha 1 se, e somente se, n 0. Iremos, portanto, assumir este fato. Se ele voltar, os novos valores para a, n e p serão j a = a a, p = p a n mod 2, n n k =. 2 Mas então p a n = p a n mod 2 (a a) n 2 = p a n mod 2 (a 2 ) n 2 = p a n mod 2 a 2 n 2 = p a n mod 2 n (n mod 2) a = p a n = x k.
16 O Algoritmo de Exponenciação Prova de Corretude Prova de Corretude Demonstração. Portanto, ao fim do algoritmo, x k = p a n, mas como n = 0, x k = p a 0 = p 1 = p. Logo o algoritmo corretamente retorna p = x k.
17 O Algoritmo de Exponenciação Análise da Complexidade Análise da Complexidade Este algoritmo pode ter sua complexidade analisada com o Teorema Mestre através da recorrência n T (n) = T + Θ(1). 2 Como Θ(1) = Θ(n log 2 1 ), temos T Θ(log n).
18 O Algoritmo de Exponenciação Implementação Detalhes de Implementação Se n estiver representado na base 2, este algoritmo pode ser eficientemente implementado. Para n escrito em uma base geral b, precisamos adaptar o algoritmo como segue: exp b (x, k) 0 a, n, p x, k, 1 1 enquanto n 0 faça 2 p p a n mod b 3 a a b 4 n n b 5 retorne p A demonstração de que ele funciona e roda em Θ(log n) para todo b fica como exercício.
19 Aplicações Exponenciação Modular Exponenciação Modular Vários protocolos de criptografia assimétrica precisam computar eficientemente o valor de a b mod n para valores n N \ {0} e a, b Z n. Observando que (Z n, ) é um monóide, esse problema pode facilmente ser resolvido com o algoritmo que estudamos.
20 Aplicações Cálculo Eficiente dos Números de Fibonacci Cálculo Eficiente dos Números de Fibonacci O n-ésimo número de Fibonacci é definido recursivamente por 8 >< 0, n = 0 f n = 1, n = 1 >: f n 2 + f n 1, senão. Gostaríamos de ser capazes de computar eficientemente o n-ésimo número de Fibonacci f n para um dado n N.
21 Aplicações Cálculo Eficiente dos Números de Fibonacci Cálculo Eficiente dos Números de Fibonacci Conhecemos um algoritmo capaz de fazer isso, mas ele executa Θ(n) somas. Ainda, o n-ésimo número de Fibonacci tem da ordem de Θ(n) dígitos em qualquer base. Se levarmos isso em conta este algoritmo leva Θ(n 2 ) para concluir. Iremos mostrar um algoritmo para calcular o n-ésimo número de Fibonacci usando apenas Θ(log n) somas e multiplicações. Ainda, se considerarmos que uma multiplicação de dois números de n dígitos pode ser executada em O(n log n log log n), este algoritmo leva apenas O(n log 2 n log log n) para terminar, sendo bastante mais rápido. Mesmo usando o algoritmo de Karatsuba para multiplicar faz com que esse algoritmo rode em O(n log 2 3 log n), o que ainda é bem mais rápido.
22 Aplicações Cálculo Eficiente dos Números de Fibonacci Cálculo Eficiente dos Números de Fibonacci A principal idéia por traz desse algoritmo vem da seguinte igualdade»»» fn fn+1 =. 1 0 f n+1 f n Por indução obtém-se» fn+1 f n =» n» f1. f 0» n 1 1 Mas como (N 2 2, ) é um monóide, segue que podemos calcular 1 0 rapidamente, usando apenas Θ(log n) vezes a operação do monóide, que é um produto matricial 2 2 e que portanto pode ser implementado com Θ(1) somas e multiplicações.
23 Aplicações Cálculo Eficiente dos Números de Fibonacci Cálculo Eficiente dos Números de Fibonacci Outra observação interessante é que como f 0 = 0, f 1 = 1, f 2 = 1 e»» k»»» k» fk f1 fk f2 =, =, f k f 0 f k+1 obtém-se que, para k 1,» k» 1 1 fk+1 f = k, 1 0 f k f k 1 e como os número de Fibonacci são não decrescentes, temos que o maior número que aparece em uma matriz no algoritmo de exponenciação é f n+1, que tem Θ(n) dígitos em qualquer base. Se M(n) é o tempo que um algoritmo de multiplicação leva para multiplicar dois inteiros de n dígitos e M é da classe de complexidade de uma função assintoticamente não decrescente, segue que podemos implementar esse algoritmo em O(M(n) log n). f 1
O Teorema Mestre da Complexidade
O Teorema Mestre da Complexidade Luís Fernando Schultz Xavier da Silveira Departamento de Informática e Estatística - INE - CTC - UFSC 23 de aril de 2010 Conteúdo 1 Enunciado 2 Preliminares Peso das Folhas
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/30 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)
Leia maisMC102 Aula 26. Instituto de Computação Unicamp. 17 de Novembro de 2016
MC102 Aula 26 Recursão Instituto de Computação Unicamp 17 de Novembro de 2016 Roteiro 1 Recursão Indução 2 Recursão 3 Fatorial 4 O que acontece na memória 5 Recursão Iteração 6 Soma em um Vetor 7 Números
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 maisTeoria dos Conjuntos. (Aula 6) Ruy de Queiroz. O Teorema da. (Aula 6) Ruy J. G. B. de Queiroz. Centro de Informática, UFPE
Ruy J. G. B. de Centro de Informática, UFPE 2007.1 Conteúdo 1 Seqüências Definição Uma seqüência é uma função cujo domíno é um número natural ou N. Uma seqüência cujo domínio é algum número natural n N
Leia maisResposta da pergunta 2: Θ(n 3 ). Resposta da pergunta 8: 1. 7 O(n). Sim. 22. n log n O(1). Não. 3. n + 7 O(n). Sim. 4. n + 7 O(1). Não.
SSC0503 - Introdução à Ciência de Computação II Respostas da 1 a Lista Professor: Claudio Fabiano Motta Toledo (claudio@icmc.usp.br) Estagiário PAE: Jesimar da Silva Arantes (jesimar.arantes@usp.br) Resposta
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Grafos e Algoritmos Preparado a partir do texto: Rangel, Socorro.
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/27 4 - INTROD. À ANÁLISE COMBINATÓRIA 4.1) Arranjos
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/31 7 - ESTRUTURAS ALGÉBRICAS 7.1) Operações Binárias
Leia maisAnálise de Algoritmos e Estruturas de Dados
Análise de Algoritmos e Estruturas de Dados Guilherme Oliveira Mota CMCC - Universidade Federal do ABC g.mota@ufabc.edu.br 21 de julho de 2018 Esta versão é um rascunho ainda em elaboração e não foi revisado
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/29 5 - RELAÇÕES 5.1) Relações e Dígrafos 5.2) Propriedades
Leia maisProgramação Estruturada
Programação Estruturada Recursão Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Recursão Recursão 1 Recursão 2
Leia maisBusca Binária. Aula 05. Busca em um vetor ordenado. Análise do Busca Binária. Equações com Recorrência
Busca Binária Aula 05 Equações com Recorrência Prof. Marco Aurélio Stefanes marco em dct.ufms.br www.dct.ufms.br/ marco Idéia: Divisão e Conquista Busca_Binária(A[l...r],k) 1:if r < lthen 2: index = 1
Leia maisAula 06: Análise matemática de algoritmos recursivos
Aula 06: Análise matemática de algoritmos recursivos David Déharbe Programa de Pós-graduação em Sistemas e Computação Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Departamento
Leia maisTécnicas de projeto de algoritmos: Indução
Técnicas de projeto de algoritmos: Indução 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 08/2008
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 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 maisComplexidade de Algoritmos
Complexidade de Algoritmos O que é um algoritmo? Sequência bem definida e finita de cálculos que, para um dado valor de entrada, retorna uma saída desejada/esperada. Na computação: Uma descrição de como
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/26 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)
Leia maisAlgoritmos e Estrutura de Dados. Aula 04 Recorrência Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 04 Recorrência Prof. Tiago A. E. Ferreira Esta Aula... Nesta aula veremos três métodos para resolver recorrência: Método da substituição É suposto um limite hipotético
Leia maisANÁLISE DE ALGORITMOS
ANÁLISE DE ALGORITMOS Paulo Feofiloff Instituto de Matemática e Estatística Universidade de São Paulo agosto 2009 Introdução P. Feofiloff (IME-USP) Análise de Algoritmos agosto 2009 2 / 102 Introdução
Leia maisLista de exercícios 3 Aritmética Matricial
Universidade Federal do Paraná 2 semestre 26. Algebra Linear Olivier Brahic Lista de exercícios 3 Aritmética Matricial Exercício : Se A 3 4 2 2 2 e B 2 3 2 4, calcule: a 2A, c 2A 3B e AB g A B b A + B
Leia maisEstruturas de Dados 2
Estruturas de Dados 2 Algoritmos de Ordenação em Tempo Linear IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/38 Algoritmos de Ordenação em Tempo Linear Limite Assintótico
Leia maisO grau de saída d + (v) de um vértice v é o número de arcos que tem
Grafos Direcionados Definição (Grau de Entrada) O grau de entrada d (v) de um vértice v é o número de arcos que tem v como cabeça. Definição (Grau de Saída) O grau de saída d + (v) de um vértice v é o
Leia maisDCC008 - Cálculo Numérico
DCC008 - Cálculo Numérico Polinômios de Taylor Bernardo Martins Rocha Departamento de Ciência da Computação Universidade Federal de Juiz de Fora bernardomartinsrocha@ice.ufjf.br Conteúdo Introdução Definição
Leia maisProvas de Análise Real - Noturno - 3MAT003
Provas de 2006 - Análise Real - Noturno - 3MAT003 Matemática - Prof. Ulysses Sodré - Londrina-PR - provas2006.tex 1. Definir a operação ϕ entre os conjuntos A e B por ϕ(a, B) = (A B) (A B). (a) Demonstrar
Leia maisIII Encontro de Educação, Ciência e Tecnologia
Área de Publicação: Matemática TERMO GERAL DA SEQUÊNCIA DE FIBONACCI E OS INCRÍVEIS CARTÕES MÁGICOS MEIRA DE FREITAS, Otacilia 1 ; DORNELLAS DIAS, Leticia 2 ; CORDEIRO DE MORAIS FILHO, Daniel 3 1 Matemática
Leia maisAnálise e Projeto de Algoritmos
Análise e Projeto de Algoritmos Mestrado em Ciência da Computação Prof. Dr. Aparecido Nilceu Marana Faculdade de Ciências I think the design of efficient algorithms is somehow the core of computer science.
Leia maisRegras para evitar ciclagem
Regras para evitar ciclagem Marina Andretta ICMC-USP 19 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 -
Leia maisO REI MALIGNO E A PRINCESA GENEROSA: SOBRE BASES NUMÉRICAS E CRITÉRIOS DE DIVISIBILIDADE
O REI MALIGNO E A PRINCESA GENEROSA: SOBRE BASES NUMÉRICAS E CRITÉRIOS DE DIVISIBILIDADE ANA PAULA CHAVES AND THIAGO PORTO 1. Introdução Os temas centrais deste texto - bases numéricas e critérios de divisibilidade
Leia maisIndução Matemática. George Darmiton da Cunha Cavalcanti CIn - UFPE
Indução Matemática George Darmiton da Cunha Cavalcanti CIn - UFPE Introdução Qual é a fórmula para a soma dos primeiros n inteiros ímpares positivos? Observando os resultados para um n pequeno, encontra-se
Leia maisAnálise de Algoritmos e Estruturas de Dados
Análise de Algoritmos e Estruturas de Dados Carla Negri Lintzmayer Guilherme Oliveira Mota CMCC Universidade Federal do ABC {carla.negri g.mota}@ufabc.edu.br 12 de junho de 2019 Esta versão é um rascunho
Leia mais1 a Lista Professor: Claudio Fabiano Motta Toledo Estagiário PAE: Jesimar da Silva Arantes
SSC0503 - Introdução à Ciência de Computação II 1 a Lista Professor: Claudio Fabiano Motta Toledo (claudio@icmc.usp.br) Estagiário PAE: Jesimar da Silva Arantes (jesimar.arantes@usp.br) 1. O que significa
Leia maisUNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 4 a Lista de Exercícios Gabarito de algumas questões.
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO MATEMÁTICA COMBINATÓRIA 4 a Lista de Exercícios Gabarito de algumas questões. Este gabarito foi feito direto no computador
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Conceitos básicos Metodo de provas: Indução Diane Castonguay diane@inf.ufg.br Instituto de Informática Universidade Federal de Goiás Notações = para todo = existe! = único
Leia maisParalelização Eficiente para o Algoritmo Binário de Exponenciação Modular
Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular Pedro Carlos da Silva Lara Fábio Borges de Oliveira Renato Portugal Laboratório Nacional de Computação Científica Índice 1 Introdução
Leia maisLista de Exercícios da Primeira Semana Análise Real
Lista de Exercícios da Primeira Semana Análise Real Nesta lista, a n, b n, c n serão sempre sequências de números reais.. Mostre que todo conjunto ordenado com a propriedade do supremo possui a propriedade
Leia maisAula 1. Teoria da Computação III
Aula 1 Teoria da Computação III Complexidade de Algoritmos Um problema pode ser resolvido através de diversos algoritmos; O fato de um algoritmo resolver um dado problema não significa que seja aceitável
Leia maisMódulo Tópicos Adicionais. Recorrências
Módulo Tópicos Adicionais Recorrências Módulo Tópico Adicionais Recorrências 1 Exercícios Introdutórios Exercício 1 Considere a sequência definida por x 1 d e x n r + x n 1, para n > 1 Trata-se de uma
Leia mais2 Erro comum da indução. 3 Corretude de Algoritmos. > Indução Forte X Indução Fraca Erro comum da indução Corretude de Algoritmos 0/17
Conteúdo 1 Indução Forte X Indução Fraca 2 Erro comum da indução 3 Corretude de Algoritmos > Indução Forte X Indução Fraca Erro comum da indução Corretude de Algoritmos 0/17 Indução Forte X Indução Fraca
Leia maisTécnicas de projeto de algoritmos: Indução
Técnicas de projeto de algoritmos: Indução 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 08/2008
Leia maisPrincípio da boa ordenação. Aula 03. Princípio da boa ordenação. Princípio da boa ordenação. Indução Finita e Somatórios
Princípio da boa ordenação Aula 0 Indução Finita e Somatórios Prof. Marco Aurélio Stefanes marco em dct.ufms.br www.dct.ufms.br/ marco Aula 0 p. 1 Aula 0 p. Princípio da boa ordenação Princípio da boa
Leia maisI. Correção de Algoritmos Não-Recursivos
I. Correção de Algoritmos Não-Recursivos Nos exercícios a seguir, você deverá demonstrar a correção dos algoritmos por meio dos conceitos vistos nos slides da Aula 03. 1) Prove que o seguinte algoritmo
Leia maisALGORITMOS AVANÇADOS UNIDADE II Recursividade. Luiz Leão
Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 2.1 - Definições recursivas 2.2 - Como implementar recursividade 2.3 - Quando não usar recursividade 2.4 - Desenvolvendo algoritmos
Leia maisConstrução de Algoritmos II Aula 06
exatasfepi.com.br Construção de Algoritmos II Aula 06 André Luís Duarte Porque mil anos são aos teus olhos como o dia de ontem que passou, e como a vigília da noite. Salmos 90:4 Recursividade e complexidade
Leia maisGeradores e relações
Geradores e relações Recordamos a tabela de Cayley de D 4 (simetrias do quadrado): ρ 0 ρ 90 ρ 180 ρ 270 h v d 1 d 2 ρ 0 ρ 0 ρ 90 ρ 180 ρ 270 h v d 1 d 2 ρ 90 ρ 90 ρ 180 ρ 270 ρ 0 d 2 d 1 h v ρ 180 ρ 180
Leia maisMatemática Discreta - 06
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 06 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/81 1 - LÓGICA E MÉTODOS DE PROVA 1.1) Lógica Proposicional
Leia mais1 Grupos (23/04) Sim(R 2 ) T T
1 Grupos (23/04) Definição 1.1. Um grupo é um conjunto G não-vazio com uma operação binária : G G G que satisfaz as seguintes condições: 1. (associatividade) g (h k) = (g h) k para todos g, h, k G; 2.
Leia maisFórmulas de Taylor. Notas Complementares ao Curso. MAT Cálculo para Ciências Biológicas - Farmácia Noturno - 1o. semestre de 2006.
Fórmulas de Taylor Notas Complementares ao Curso MAT0413 - Cálculo para Ciências Biológicas - Farmácia Noturno - 1o. semestre de 2006 Gláucio Terra Sumário 1 Introdução 1 2 Notações 1 3 Notas Preliminares
Leia maisDefinição. Diremos que um número inteiro d é um divisor de outro inteiro a, se a é múltiplo de d; ou seja, se a = d c, para algum inteiro c.
Divisores Definição. Diremos que um número inteiro d é um divisor de outro inteiro a, se a é múltiplo de d; ou seja, se a = d c, para algum inteiro c. Quando a é múltiplo de d dizemos também que a é divisível
Leia maisALGORITMO DE EUCLIDES
Sumário ALGORITMO DE EUCLIDES Luciana Santos da Silva Martino lulismartino.wordpress.com lulismartino@gmail.com PROFMAT - Colégio Pedro II 25 de agosto de 2017 Sumário 1 Máximo Divisor Comum 2 Algoritmo
Leia maisPreliminares. Profa. Sheila Morais de Almeida. agosto
Preliminares Profa. Sheila Morais de Almeida DAINF-UTFPR-PG agosto - 2016 Algoritmos Definição - Skiena Algoritmo é a ideia por trás dos programas de computador. É aquilo que permanece igual se o programa
Leia mais1 Conjuntos, Números e Demonstrações
1 Conjuntos, Números e Demonstrações Definição 1. Um conjunto é qualquer coleção bem especificada de elementos. Para qualquer conjunto A, escrevemos a A para indicar que a é um elemento de A e a / A para
Leia maisLista de Exercícios sobre Recursividade
Lista de Exercícios sobre Recursividade 1) Dado os algoritmos recursivos abaixo, apresente suas funções de complexidade de tempo. a) void Pesquisa(int n) if (n > 1) Inspecione n*n*n elementos; // custo
Leia maisProblema de seleção de atividades. Aula 14. Exemplo. Algoritmos Gulosos. Algoritmos Gulosos. Intervalo: par ordenado de números
Problema de seleção de atividades Aula 14 Algoritmos Gulosos Prof. Marco Aurélio Stefanes marco em dct.ufms.br www.dct.ufms.br/ marco Intervalo: par ordenado de números [s[i],f[i]): início e fim do intervalo
Leia maisCapítulo 2. Conjuntos Infinitos. 2.1 Existem diferentes tipos de infinito
Capítulo 2 Conjuntos Infinitos O conjunto dos números naturais é o primeiro exemplo de conjunto infinito que aprendemos. Desde crianças, sabemos intuitivamente que tomando-se um número natural n muito
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/10 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)
Leia maisCapítulo 1. Os Números. 1.1 Notação. 1.2 Números naturais não nulos (inteiros positivos) Última atualização em setembro de 2017 por Sadao Massago
Capítulo 1 Os Números Última atualização em setembro de 2017 por Sadao Massago 1.1 Notação Números naturais: Neste texto, N = {0, 1, 2, 3,...} e N + = {1, 2, 3, }. Mas existem vários autores considerando
Leia maisMATRIZES - PARTE Mais exemplos Multiplicação de duas matrizes AULA 26
AULA 26 MATRIZES - PARTE 2 26. Mais exemplos Nesta aula, veremos mais dois algoritmos envolvendo matrizes. O primeiro deles calcula a matriz resultante da multiplicação de duas matrizes e utiliza três
Leia maisRecursão. Aula 1. Liana Duenha. Faculdade de Computação Universidade Federal de Mato Grosso do Sul
Recursão Aula 1 Liana Duenha Faculdade de Computação Universidade Federal de Mato Grosso do Sul Algoritmos e Programação II, Análise de Sistemas, 2010 Martinez & Rubert (FACOM) Recursão APIIAS 1 / 25 Conteúdo
Leia maisGABARITO. Prova 2 (points: 120/100; bonus: 18 ; time: 100 ) FMC1, (Turmas do Thanos) Regras: Boas provas! Gabarito 23/11/2016
FMC1, 2016.2 (Turmas do Thanos) Prova 2 (points: 120/100; bonus: 18 ; time: 100 ) Nome: Θάνος Gabarito 23/11/2016 Regras: I. Não vires esta página antes do começo da prova. II. Nenhuma consulta de qualquer
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 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 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 maisClasses, Herança e Interfaces
Escola de Artes, Ciências e Humanidades EACH-USP ACH2002 Introdução à Ciência da Computação II Professor: Delano Medeiros Beder revisada pelo professor: Luciano Digiampietri EACH Segundo Semestre de 2011
Leia maisNÚMEROS INTEIROS E CRIPTOGRAFIA UFRJ
NÚMEROS INTEIROS E CRIPTOGRAFIA UFRJ GABARITO LISTA 6: ALGORITMO CHINÊS DO RESTO 1. Ver gabarito das questões do livro. 2. Aplique o Algoritmo de Fermat para encontrar 999367 = 911 1097. Como 911 e 1097
Leia maisMétodo Simplex. Marina Andretta ICMC-USP. 19 de outubro de 2016
Método Simplex Marina Andretta ICMC-USP 19 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização linear
Leia maisESTRUTURAS DE REPETIÇÃO - PARTE 1
AULA 15 ESTRUTURAS DE REPETIÇÃO - PARTE 1 15.1 O comando enquanto-faca- Considere o problema de escrever um algoritmo para ler um número inteiro positivo, n, e escrever todos os números inteiros de 1 a
Leia maisTEORIA ERGÓDICA, SISTEMAS DINÂMICOS E MEDIDAS INVARIANTES
TEORIA ERGÓDICA, SISTEMAS DINÂMICOS E MEDIDAS INVARIANTES Aluno: Juliana Arcoverde V. L. Ribeiro Orientador: Lorenzo Justiniano Díaz Casado Introdução A Teoria dos Sistemas Dinâmicos, ou mais exatamente
Leia maisAnálise de algoritmos
Análise de algoritmos Introdução à Ciência da Computação 2 Baseado nos slides do Prof. Thiago A. S. Pardo Algoritmo Noção geral: conjunto de instruções que devem ser seguidas para solucionar um determinado
Leia mais05 Análise de Algoritmos (parte 4) SCC201/501 - Introdução à Ciência de Computação II
05 Análise de Algoritmos (parte 4) SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir
Leia maisMA14 - Aritmética Unidade 1 Resumo. Divisibilidade
MA14 - Aritmética Unidade 1 Resumo Divisibilidade Abramo Hefez PROFMAT - SBM Julho 2013 Aviso Este material é apenas um resumo de parte do conteúdo da disciplina e o seu estudo não garante o domínio do
Leia maisLista de Exercícios 6: Soluções Funções
UFMG/ICEx/DCC DCC Matemática Discreta Lista de Exercícios 6: Soluções Funções Ciências Exatas & Engenharias o Semestre de 06 Conceitos. Determine e justifique se a seguinte afirmação é verdadeira ou não
Leia maisAnálise de Algoritmos
Algoritmos p. 1/28 Análise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 2/28 Análise de Algoritmos CLRS 7 Essas transparências
Leia maisResumo das aulas dos dias 4 e 11 de abril e exercícios sugeridos
MAT 1351 Cálculo para funções uma variável real I Curso noturno de Licenciatura em Matemática 1 semestre de 2016 Docente: Prof. Dr. Pierluigi Benevieri Resumo das aulas dos dias 4 e 11 de abril e exercícios
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos A. G. Silva Baseado nos materiais de Souza, Silva, Lee, Rezende, Miyazawa Unicamp Ribeiro FCUP Manber, Introduction to Algorithms (1989) Livro 06 de abril de 2018 Conteúdo
Leia mais3. ANÁLISE DE COMPLEXIDADE PESSIMISTA
3. ANÁLISE DE COMPLEXIDADE PESSIMISTA Este capítulo introduz uma metodologia para analisar a complexidade pessimista (i. e. no pior caso) de um algoritmo com base em sua estrutura. O processo de construção
Leia maisAnálise de Complexidade de Algoritmos. mario alexandre gazziro
Análise de Complexidade de Algoritmos mario alexandre gazziro Definição A complexidade de um algoritmo consiste na quantidade de esforço computacional necessária para sua execução. Esse esforço é expresso
Leia maisAndré Vignatti DINF- UFPR
Notação Assintótica: O André Vignatti DINF- UFPR Notação Assintótica Vamos expressar complexidade através de funções em variáveis que descrevam o tamanho de instâncias do problema. Exemplos: Problemas
Leia maisAnálise de Algoritmos
Análise de Algoritmos Técnicas de Prova Profa. Sheila Morais de Almeida DAINF-UTFPR-PG julho - 2015 Técnicas de Prova Definição Uma prova é um argumento válido que mostra a veracidade de um enunciado matemático.
Leia maisPCC104 - Projeto e Análise de Algoritmos
PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 7 de outubro de 2016 Marco Antonio
Leia maisNúmeros Naturais. MA12 - Unidade 1. Os Axiomas de Peano. O Axioma da Indução. Exemplo: uma demonstração por indução
Os Números Naturais MA1 - Unidade 1 Números Naturais Paulo Cezar Pinto Carvalho PROFMAT - SBM January 7, 014 Números Naturais: modelo abstrato para contagem. N = {1,,3,...} Uma descrição precisa e concisa
Leia maisComplexidade de Algoritmos. Edson Prestes
Edson Prestes Exemplos Exemplos A complexidade no pior caso é linear e igual a n, ou seja, é O(n) A complexidade média é linear e igual a (1+n)/2, ou seja, é O(n) Exemplos Considere o produto C de uma
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos A. G. Silva Baseado nos materiais de Souza, Silva, Lee, Rezende, Miyazawa Unicamp Ribeiro FCUP 18 de agosto de 2017 Conteúdo programático Introdução (4 horas/aula) Notação
Leia maisInvariantes de Laço. Profa. Sheila Morais de Almeida. junho DAINF-UTFPR-PG
Invariantes de Laço Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Invariantes de Laço junho - 2018 1 / 28 Este material é preparado usando como referências
Leia maisANÁLISE DE ALGORITMOS: PARTE 3
ANÁLISE DE ALGORITMOS: PARTE 3 Prof. André Backes 2 A notação grande-o é a forma mais conhecida e utilizada de análise Complexidade do nosso algoritmo no pior caso Seja de tempo ou de espaço É o caso mais
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/14 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)
Leia maisComplexidade de Algoritmos
Complexidade de Algoritmos Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Prof. Cristiano Damiani Vasconcellos cristiano.vasconcellos@udesc.br Um pouco de Teoria dos Números
Leia maisMarcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia. 23 de Março de 2018
Relações de Recorrência Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia 23 de Março de 2018 Aula de hoje Nesta aula veremos Conceitos de Relações de Recorrência Resolução
Leia maisDemonstrações. Terminologia Métodos
Demonstrações Terminologia Métodos Técnicas de Demonstração Uma demonstração é um argumento válido que estabelece a verdade de uma sentença matemática. Técnicas de Demonstração Demonstrações servem para:
Leia maisa = bq + r e 0 r < b.
1 Aritmética dos Inteiros 1.1 Lema da Divisão e o Algoritmo de Euclides Recorde-se que a, o módulo ou valor absoluto de a, designa a se a N a = a se a / N Dados a, b, c Z denotamos por a b : a divide b
Leia maisModelagem com relações de recorrência. Exemplo: Determinada população dobra a cada ano; população inicial = 5 a n = população depois de n anos
Relações de recorrência 8. RELAÇÕES DE RECORRÊNCIA Introdução a relações de recorrência Modelagem com relações de recorrência Solução de relações de recorrência Exemplos e aplicações Relações de recorrência
Leia mais2013/1S EP33D Matemática Discreta Avaliação 01
013/1S EP33D Matemática Discreta Avaliação 01 Data: 10/07/013 Início: 13h00min Duração: 03 aulas h30min) OBSERVAÇÕES: i) a prova é individual; ii) qualquer forma de consulta não autorizada acarretará no
Leia maisAnálise de Algoritmos
Análise de Algoritmos KT 5.5 e CLRS 28.2 Essas transparências foram adaptadas das transparências do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1 Segmento de soma máxima Um segmento
Leia maisEstruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches
CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-234 2) Algoritmos recursivos Indução matemática, recursão, recorrências Indução matemática Uma
Leia maisESTRUTURA DE DADOS CIÊNCIA E TECNOLOGIA DO RIO. Curso de Tecnologia em Sistemas para Internet
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ESTRUTURA DE DADOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia
Leia maisIntrodução a Algoritmos Parte 08
Universidade Federal do Vale do São Francisco Curso de Engenharia de Computação Introdução a Algoritmos Parte 08 (Baseado no Material do Prof. Marcelo Linder) Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br
Leia mais