Análise Amortizada de Complexidade
|
|
|
- Talita Lopes
- 6 Há anos
- Visualizações:
Transcrição
1 Análise Amortizada de Complexidade Algoritmos e Complexidade LEI-LCC MBB Novembro de 2010
2 Introdução Pretende analizar-se uma sequência de operações sobre uma estrutura de dados. Este é, geralmente o caso mais interessante do ponto de vista aplicacional. Uma análise que assuma o pior caso para todas as operações será pessimista. Uma análise probabilística depende muito da informação disponível sobre os inputs. O objectivo é calcular o custo médio, por operação, numa sequência de operações. A sequência escolhida será a mais desfavorável, dando origem a uma análise no pior caso. Uma solução com operações individuais menos eficientes pode apresentar um comportamento amortizado mais favorável.
3 Exemplo: Stack Vamos assumir que Push e Pop executam em tempo constante. Analisemos o tempo de execução de uma sequência de m operações. Cada operação consiste em 0 ou mais Pop e termina com um Push. Partindo de stack vazia, podemos concluir duas coisas aparentemente contraditórias. É possível que uma operação demore m 1 unidades de tempo. Porquê? No total, o número total de operações é, no máximo, 2m. Porquê? Vamos ver várias metodologias equivalentes para tratar este tipo de problema.
4 Análise Agregada Trata-se de uma aproximação directa. Calcula-se o custo médio de uma operação fazendo: O cálculo do pior caso do custo total da sequência de operações. O quociente desse valor pelo número de operações. No caso da stack, temos que o número total de Pop nunca pode ser superior ao número de Push. O número total de Push é simplesmente m, dando um custo total no pior caso de 2m. O custo amortizado de cada operação é 2.
5 Visão do banqueiro: Accounting Argument Assumimos que efectuar operações exige crédito. A cada operação atribuímos um determinado crédito. Este crédito poderá ser inferior ao que a operação necessitaria individualmente. Tentaremos demonstrar que a soma do crédito de todas as operações permite executar a sequência completa. Para isso, usaremos créditos não utilizados de operações anteriores. Poderemos também necessitar de pedir créditos emprestados, mas não iremos abordar este caso mais complicado.
6 Visão do banqueiro: Accounting Argument Se provarmos que nunca precisaremos de pedir emprestado, a análise é simples mesmo para sub-sequências: no pior caso será a soma dos custos individuais amortizados. No caso da stack, alocamos dois créditos por operação e observamos que o número de créditos poupados é sempre igual ao número de elementos armazenados. Um Pop utiliza créditos poupados. Um Push utiliza um crédito poupado, e assinala o fim da operação: mais 2 créditos que podem ser poupados. Nunca precisamos de pedir emprestado: custo total 2m.
7 Visão do Físico: Potential Argument Define-se uma função potencial Φ, que mapeia uma configuração D da estrutura de dados num número real. Φ representa a potencial carga computacional de processar D. Define-se o tempo amortizado a de uma operação como t + Φ(D ) Φ(D): t é o tempo real que a operação leva a executar. D é a configuração antes de a operação executar. D é a configuração depois de a operação executar. Para qualquer sequência de m operações, teremos m t i = i=1 m m a i Φ i + Φ i 1 = Φ 0 Φ m + i=1 i=1 a i
8 Visão do Físico: Potential Argument O tempo total é a soma dos custos amortizados, afectada da alteração no potencial da configuração da estrutura de dados. Espera-se que uma operação muito pesada faça decrescer o potencial, permitindo operações seguintes mais eficientes. Podemos escolher qualquer função potencial. Nos casos mais interessantes Φ 0 será nulo, e o potencial será sempre positivo. Voltando ao exemplo da stack, podemos tomar Φ como o número de elementos armazenados. Neste caso, partindo de um potencial de i, sendo k o número de Pop realizados, temos o custo amortizado de cada operação: (k + 1) + (i k + 1) i = 2 Se partirmos e chegarmos a uma stack vazia, temos custo total 2m.
9 Gestão de Listas Análise da heurística Move-to-Front : Consideramos tabela de n elementos e a operação de aceder a um desses elementos. A implementação é ligada, e o tempo de acesso ao elemento na posição i é igual a i. A lista não está ordenada, mas pode ser re-arranjada entre operações de acesso. O re-arranjo pode ser feito trocando um elemento com outro adjacente, o que pode ser feito em tempo constante. O problema: vale a pena fazer swaps entre operações de acesso? Esta pergunta só faz sentido se alguns elementos forem acedidos mais vezes que outros. A heurística Move-to-Front coloca o elemento acedido na cabeça da lista.
10 Gestão de Listas Esta técnica tão simples é surpreendentemente eficiente: Fica a um factor constante de qualquer outra estratégia que implique conhecimento de estatísticas de acesso. O mesmo se aplica relativamente a algoritmos que assumem ser possível fazer swaps arbitrários em tempo constante. É uma estratégia óptima num sentido muito abrangente! Adoptamos a visão do físico: Assumimos um algoritmo arbitrário A a executar em paralelo com esta estratégia. O potencial é definido como Φ(D) = 2 x D Φ x, com Φ x = #{z z antes de x em D, z depois de x em A} As configurações são inicialmente iguais. Considera-se uma sequência arbitrária de acessos.
11 Gestão de Listas Vamos demonstrar o resultado conhecido de que o custo amortizado de uma operação de acesso é, no máximo, 4 vezes superior ao de A. O custo amortizado, partindo de potencial P, de um acesso à posição i em D é 2i + (2(i 1 2x i ) + P) P = 4i 2 4x i em que x i é o número de antecessores do elemento i em D, que aparecem depois dele em A. Um algoritmo optimizado para aquela sequência de acessos nunca precisará de fazer swaps: tempo de acesso j. Como i x i j, temos um custo amortizado máximizado por 4j. O potencial final é superior ou igual a zero, pelo que o custo total é O(4*m*N) e está a um factor de 4 do método óptimo! A razão entre custos é inferior a 4: análise competitiva.
Análise Amortizada. Exemplo: Tabelas dinâmicas. Resulta da análise de uma sequência de operações numa estrutura de dados.
Análise Amortizada Análise Amortizada Fernando Lobo Algoritmos e Estrutura de Dados II Resulta da análise de uma sequência de operações numa estrutura de dados. Apesar de uma operação individual poder
INE5403 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)
Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.
1 Árvores Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. Um grafo simples sem ciclos mas não conexo (em que cada componente conexa é portanto uma árvore) chama-se uma floresta. Numa
Introdu c ao ` a L ogica Matem atica Ricardo Bianconi
Introdução à Lógica Matemática Ricardo Bianconi Capítulo 4 Dedução Informal Antes de embarcarmos em um estudo da lógica formal, ou seja, daquela para a qual introduziremos uma nova linguagem artificial
Aná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.
Análise amortizada CLRS 17. Algoritmos p. 1
Análise amortizada CLRS 17 Algoritmos p. 1 Análise amortizada Serve para analisar uma sequência de operações ou iterações onde o pior caso individual não reflete o pior caso da sequência. Em outras palavras,
Árvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral
SCC-214 Projeto de Algoritmos Thiago A. S. Pardo Listas e árvores Listas lineares Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral Diversas aplicações necessitam de estruturas
Técnicas de Desenho de Algoritmos
Técnicas de Desenho de Algoritmos Mudança de ênfase: da implementação de algoritmos para o desenho de algoritmos A ver: 5 tipos de algoritmos abordagem ao problema exemplos complexidade em tempo e espaço
Aula 03: Análise de algoritmos melhor caso, pior caso e caso médio
Aula 03: Análise de algoritmos melhor caso, pior caso e caso médio 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
Complexidade 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
Representação decimal dos números racionais
Representação decimal dos números racionais Alexandre Kirilov Elen Messias Linck 21 de março de 2018 1 Introdução Um número é racional se puder ser escrito na forma a/b, com a e b inteiros e b 0; esta
Algoritmos 3/17/ Algoritmos como área de estudo e investigação
Algoritmos e Complexidade Ana Teresa Freitas INESC-ID/IST ID/IST 3/17/2005 1 O que é um algoritmo? Algoritmos: Sequência de instruções necessárias para a resolução de um problema bem formulado [passíveis
7. Introdução à Complexidade de Algoritmos
7. Introdução à Complexidade de Algoritmos Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 7. Introdução à Complexidade de Algoritmos Estruturas de Dados 1 / 1 Análise de Algoritmos
MATRIZES - 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
7. Introdução à Complexidade de Algoritmos
7. Introdução à Complexidade de Algoritmos Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 7. Introdução à Complexidade de Algoritmos Estruturas de Dados 1 / 1 Análise de Algoritmos
Busca competitiva. Inteligência Artificial. Profª. Solange O. Rezende
Profª. Solange O. Rezende 1 O que vimos até agora... Busca não informada Baseada somente na organização de estados e a sucessão entre eles Busca informada Utiliza, também, informações a respeito do domínio
1 Espaços Vectoriais
Nova School of Business and Economics Apontamentos Álgebra Linear 1 Definição Espaço Vectorial Conjunto de elementos que verifica as seguintes propriedades: Existência de elementos: Contém pelo menos um
Sistemas Baseados em Conhecimento
Departamento de Informática Faculdade de Ciências Universidade de Lisboa Sistemas Baseados em Conhecimento Primeiro Teste 24 de Abril de 2008 Nome Completo: Nº Aluno: Licenciatura: com consulta 1 hora
ANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa
ANÁLISE DE ALGORITMOS: PARTE 1 Prof. André Backes Algoritmos 2 Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa Precisamos escrever o seu algoritmo Um algoritmo
Exercícios de MATEMÁTICA COMPUTACIONAL. 1 0 Semestre de 2009/2010 Resolução Numérica de Equações Não-Lineares
Exercícios de MATEMÁTICA COMPUTACIONAL Mestrado Integrado em Engenharia Biomédica 1 0 Semestre de 2009/2010 Resolução Numérica de Equações Não-Lineares 1. Considere a equação sin(x) e x = 0. a) Prove que
CORRELAÇÃO E REGRESSÃO. Modelos Probabilísticos para a Computação Professora: Andréa Rocha. UNIVERSIDADE FEDERAL DA PARAÍBA Dezembro, 2011
CORRELAÇÃO E REGRESSÃO CORRELAÇÃO E REGRESSÃO Modelos Probabilísticos para a Computação Professora: Andréa Rocha UNIVERSIDADE FEDERAL DA PARAÍBA Dezembro, 2011 CORRELAÇÃO Introdução Quando consideramos
Algoritmos Greedy. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/ / 40
Algoritmos Greedy Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/2015 1 / 40 Algoritmos Greedy Vamos falar de algoritmos greedy. Em português são conhecidos como: Algoritmos
Refinamentos sucessivos
Refinamentos sucessivos Objetivos: Estudar a técnica de refinamentos sucessivos Jogo: 2048 Implementaremos o jogo 2048, com o objetivo de estudar a manipulação dos elementos de uma matriz Utilizaremos
Representação decimal dos números racionais
Representação decimal dos números racionais Alexandre Kirilov Elen Messias Linck 4 de abril de 2017 1 Introdução Um número é racional se puder ser escrito na forma a/b, com a e b inteiros e b 0; esta é
ESTRUTURA DE DADOS ORDENANDO LISTAS
ESTRUTURA DE DADOS ORDENANDO LISTAS Prof. Dr. Daniel Caetano 2014-2 Objetivos Compreender o que são ordenações por seleção e por inserção Capacitar para implementar ambos os tipos de ordenação Material
Lógica Computacional. Métodos de Inferência. Passos de Inferência. Raciocínio por Casos. Raciocínio por Absurdo. 1 Outubro 2015 Lógica Computacional 1
Lógica Computacional Métodos de Inferência Passos de Inferência Raciocínio por Casos Raciocínio por Absurdo 1 Outubro 2015 Lógica Computacional 1 Inferência e Passos de Inferência - A partir de um conjunto
MATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21
AULA 21 MATRIZES - PARTE 1 21.1 Definição e Manipulação de Matrizes Sabemos como definir variáveis de um novo tipo de dados, denominado vetor, que representam seqüências de valores de um mesmo tipo. Por
Universidade de São Paulo
Universidade de São Paulo Instituto de Ciências Matemáticas e Computação SCE5763 - Tipos e Estrutura de Dados - Luis Gustavo Nonato 2 a Lista de Exercícios 1. Seja A um array de inteiros. Escreva algoritmos
Exercícios: Vetores e Matrizes
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor
Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH
Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH Optimization and decision support techniques PDEEC 2007 Introdução A meta-heurística VNS (Variable Neighbourhood Search) é bastante recente
Aula 08. Estruturas de dados Árvore e Grafo
Logo Aula 08 Estruturas de dados Árvore e Grafo 2 Árvore Estruturas estudadas até agora não são \ adequadas para representar dados que devem ser dispostos de maneira hierárquica Ex., hierarquia de pastas
QuickSort. Algoritmos e Estruturas de Dados Verão Cátia Vaz 1
QuickSort Algoritmos e Estruturas de Dados Verão 2012 1 QuickSort Algoritmo do tipo dividir para conquistar Ideia do algoritmo: efectuar partição dos dados e ordenar as várias partes independentemente
Projeto e Análise de Algoritmos Análise de Complexidade. Prof. Luiz Chaimowicz
Projeto e Análise de Algoritmos Análise de Complexidade Prof. Luiz Chaimowicz AGENDA Modulo 1 Data Assunto Capítulos 05/03 Algoritmos / Invariantes / Intro Análise de Complexidade 07/03 Não Haverá Aula
SOLUÇÃO ANALÍTICA E NUMÉRICA DA EQUAÇÃO DE LAPLACE
15 16 SOLUÇÃO ANALÍTICA E NUMÉRICA DA EQUAÇÃO DE LAPLACE 3. Todos os dispositivos elétricos funcionam baseados na ação de campos elétricos, produzidos por cargas elétricas, e campos magnéticos, produzidos
Grafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo
PMR2300 Escola Politécnica da Universidade de São Paulo Um grafo é uma estrutura que generaliza árvores, sendo formado por nós e arestas. Cada nó em um grafo pode ser conectado a vários outros nós por
Teoria da Computação. Complexidade computacional classes de problemas
Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos
Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo
Estruturas de Dados Grafos
Estruturas de Dados Grafos Prof. Eduardo Alchieri (introdução) Grafo é um conjunto de pontos e linhas que conectam vários pontos Formalmente, um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:
Decisão Decidir Análise / Teoria da Decisão
Decisão Decidir é o acto de seleccionar uma linha de acção preferida entre várias alternativas existentes. Existem diversos instrumentos que podem contribuir para a tomada de decisões, dependentes do ambiente
MA21 (2015) - Teste - Gabarito comentado. Problema 1 (OBM 2005) Na sequência de números
MA21 (2015) - Teste - Gabarito comentado Problema 1 (OBM 2005) Na sequência de números 1, a, 2, b, c, d,... dizemos que o primeiro termo é 1, o segundo é a, o terceiro é 2, o quarto é b, o quinto é c e
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina
Simplex. Investigação Operacional José António Oliveira Simplex
18 Considere um problema de maximização de lucro relacionado com duas actividades e três recursos. Na tabela seguinte são dados os consumos unitários de cada recurso (A, B e C) por actividade (1 e 2),
Lista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013
Lista 1 - PMR2300 Fabio G. Cozman 3 de abril de 2013 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u b l i c s t a t i c void
ANTECESSORES RELATIVAMENTE PRIMOS
ANTECESSORES RELATIVAMENTE PRIMOS ALUNO: MÁRCIO PALMARES Trabalho apresentado para a Disciplina CM141 - TÓPICOS DE MATEMÁTICA II, a cargo do Prof. ABEL SOARES SIQUEIRA INTRODUÇÃO Neste trabalho, número
ESTRUTURA DE DADOS ORDENANDO LISTAS
ESTRUTURA DE DADOS ORDENANDO LISTAS Prof. Dr. Daniel Caetano 2012-2 Objetivos Compreender o que são ordenações por seleção e por inserção Capacitar para implementar ambos os tipos de ordenação GRUPOS?
08/08/2011. Pilha. SCC0202 Algoritmos e Estruturas de Dados I. Prof. Thiago A. S. Pardo. Pilha. O que é? Para que serve?
Pilha SCC0202 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Pilha O que é? Para que serve? 2 1 Rotina A 1 print A 2 call C 3 call B 4 call D Rotina B 1 call C 2 print B 3 call D 4 call C
Buscas Informadas ou Heurísticas - Parte II
Buscas Informadas ou Heurísticas - Parte II Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Graduação em Ciência da Computação / 2006 FUNÇÕES HEURÍSTICAS - 1/7 FUNÇÕES HEURÍSTICAS - 2/7 Solução
Métodos de Apoio à Elaboração de Cronogramas
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: Gerência de Projetos Prof.: ([email protected]) 1. Gráfico de Gantt 2. PERT/CPM 1 1. Gráfico de Gantt
Aula prática 5. Funções Recursivas
Programação Funcional UFOP DECOM 2014.1 Aula prática 5 Funções Recursivas Resumo Definições recursivas são comuns na programação funcional. Nesta aula vamos aprender a definir funções recursivas. Sumário
Método Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016
Método Simplex dual Marina Andretta ICMC-USP 24 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
8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
1 ō Trabalho Prático de Programação Imperativa 2001/2002 Propostas de trabalho
1 ō Trabalho Prático de Programação Imperativa 2001/2002 Propostas de trabalho 21 de Novembro de 2001 1 Cartões mágicos Considerando os cartões abaixo é possível adivinhar um número de 1 a 63. Para tal
MA11 - Unidade 4 Representação Decimal dos Reais Semana 11/04 a 17/04
MA11 - Unidade 4 Representação Decimal dos Reais Semana 11/04 a 17/04 Para efetuar cálculos, a forma mais eciente de representar os números reais é por meio de expressões decimais. Vamos falar um pouco
Reduce: reduz o que está imediatamente à esquerda do foco usando uma produção
Shift e reduce Shift: move o foco uma posição à direita A B C x y z A B C x y z é uma ação shift Reduce: reduz o que está imediatamente à esquerda do foco usando uma produção Se A x y é uma produção, então
1 Despacho económico
Trânsito de potência difuso DC com despacho incorporado Documento complementar à dissertação José Iria [email protected] - 10-03-2011 1 Despacho económico 1.1 Considerações Gerais O problema de decisão
Algoritmos de ordenação: Inserção e Shellsort
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Algoritmos de ordenação: Inserção e Shellsort Algoritmos e Estruturas de Dados I Slides adaptados dos slides do livro texto (Ziviani) e dos slides
PROJETO E ANÁLISE DE ALGORITMOS (INF 2926)
PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão Horário: 4as-feiras de 13 às 16 horas - Sala 511 RDC 29 de abril de 2015 Data da Entrega: 10 de junho de 2015 Período: 2015.1
INTEIROS. Luciana Santos da Silva Martino. lulismartino.wordpress.com PROFMAT - Colégio Pedro II. 25 de agosto de 2017
Sumário REPRESENTAÇÃO DOS NÚMEROS INTEIROS Luciana Santos da Silva Martino lulismartino.wordpress.com [email protected] PROFMAT - Colégio Pedro II 25 de agosto de 2017 Sumário 1 Sistemas de Numeração
Jogos e invariantes. 6 de Janeiro de 2015
Jogos e invariantes 6 de Janeiro de 2015 Resumo Objetivos principais da aula de hoje: continuar com a ideia de explorar problemas. Apresentar a ideia de invariantes. 1 O jogo de apagar - introdução Quem
Área e Teorema Fundamental do Cálculo
UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA CIVIL DISCIPLINA: CÁLCULO DIFERENCIAL E INTEGRAL I Área e Teorema Fundamental
Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP
Medida do Tempo de Execução de um Programa Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo estudo
INTELIGÊNCIA ARTIFICIAL 2008/09
INTELIGÊNCIA ARTIFICIAL 2008/09 JOGOS Ex. 1) ( Teste 2005/06) Considere a seguinte árvore de procura de dois agentes. Reordene as folhas de modo a maximizar o número de cortes com uma procura da esquerda
BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade
BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco 1Q-2016 1 1995 2015 2 Custo de um algoritmo e funções de complexidade Introdução
Enumerabilidade. Capítulo 6
Capítulo 6 Enumerabilidade No capítulo anterior, vimos uma propriedade que distingue o corpo ordenado dos números racionais do corpo ordenado dos números reais: R é completo, enquanto Q não é. Neste novo
Programação Procedimental
Programação Procedimental Maria Adriana Vidigal de Lima Universidade Federal de Uberlândia - 2013 1 Escrita de Algoritmos 1.1 Técnicas de Programação e Algoritmos Na elaboração de programas maiores e complexos
Lista de Exercícios sobre Listas Implementadas por Encadeamento
Lista de Exercícios sobre Listas Implementadas por Encadeamento 1) Se você tem de escolher entre uma representação por lista encadeada ou uma representação usando posições contíguas de memória para um
Análise de Algoritmos
Análise de Algoritmos Parte 1 Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 04 Algoritmos e Estruturas de Dados I Qual a diferença entre um algoritmo e um programa? Como escolher o algoritmo
Resolução de Problemas através de Busca. Prof. Júlio Cesar Nievola PPGIA - PUC-PR
Resolução de Problemas através de Busca Prof. Júlio Cesar Nievola PPGIA - PUC-PR Solução de Problemas Sistemas inteligentes devem agir de maneira a fazer com que o ambiente passe por uma seqüência de estados
1 Conjuntos enumeráveis
Medida e Integração. Departamento de Física e Matemática. USP-RP. Prof. Rafael A. Rosales de maio de 007. Conjuntos enumeráveis Denotamos por Q os numeros racionais, logo [0, ] Q, são os números racionais
Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas
Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas Estrutura de um Programa em Linguagem Algorítmica Nesse curso nós vamos utilizar a linguagem algorítmica para
Resolução de problemas com apenas restrições lineares de igualdade
Resolução de problemas com apenas restrições lineares de igualdade Marina Andretta ICMC-USP 14 de outubro de 2014 Marina Andretta (ICMC-USP) sme0212 - Otimização não-linear 14 de outubro de 2014 1 / 22
Árvores e Mapas. Luís Lopes. Estruturas de Dados DCC-FCUP
Árvores e Mapas Luís Lopes DCC-FCUP Estruturas de Dados Estruturas não lineares Os arrays e as listas são exemplos de estruturas de dados lineares, cada elemento tem: um predecessor único (excepto o primeiro
Fundamentos da Dinâmica da Produção
Fundamentos da Dinâmica da Produção A dinâmica da produção diz respeito à forma como os diversos artigos 1 fluem no sistema produtivo. Alguns dos aspectos dessa dinâmica podem ser mais facilmente entendidos
