Complexidade de Algoritmos. Edson Prestes

Documentos relacionados
Complexidade de Algoritmos. Edson Prestes

Algoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo

Subsequência comum mais longa Em inglês, Longest Common Subsequence (LCS)

M =C J, fórmula do montante

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão

Optimização e Algoritmos (2004/2005)

Aula 5. Uma partícula evolui na reta. A trajetória é uma função que dá a sua posição em função do tempo:

Inteligência Artificial

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira

Aula 8 Variações da Eliminação de Gauss/Fatoração LU.

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

Carlos de Salles Soares Neto Segundas e Quartas, 17h40 às 19h10

ESCOLA DR. ALFREDO JOSÉ BALBI UNITAU APOSTILA

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

FÍSICA EXPERIMENTAL 3001

OBSERVAÇÕES: EXERCÍCIOS

AULA 03 MEDIDAS DE RESISTÊNCIA ELÉTICA

Aula de Exercícios - Teorema de Bayes

Análise e Resolução da prova de Agente de Polícia Federal Disciplina: Raciocínio Lógico Professor: Custódio Nascimento

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

Programação Linear - Parte 4

Probabilidade. Luiz Carlos Terra

Módulo de Equações do Segundo Grau. Equações do Segundo Grau: Resultados Básicos. Nono Ano

Teoria de Jogos. Algoritmo Minimax e Alfa-Beta AED

Matrizes. matriz de 2 linhas e 2 colunas. matriz de 3 linhas e 3 colunas. matriz de 3 linhas e 1 coluna. matriz de 1 linha e 4 colunas.

Módulo de Princípios Básicos de Contagem. Segundo ano

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

. (A verificação é imediata.)

Álgebra Linear I - Aula 20

AULA 19 Análise de Variância

AULA 07 Distribuições Discretas de Probabilidade

DISTRIBUIÇÕES ESPECIAIS DE PROBABILIDADE DISCRETAS

Teoria da Firma. Capítulo VI. Introdução. Introdução. Medição de custos: quais custos considerar?

Universidade Federal de Goiás Campus Catalão Departamento de Matemática

PERMUTAÇÃO, ARRANJO E COMBINAÇÃO Monitora Juliana

Otimização Linear Aplicada a Problemas de Planejamento de Produção

Sejam P1(x1,y1) e P2(x2,y2) pontos pertencentes ao plano. A equação da reta pode ser expressa como: ou

Expressões de sequencias

Sistemas Distribuídos

Aula 10: Escalonamento da CPU

. B(x 2, y 2 ). A(x 1, y 1 )

Seu pé direito nas melhores Faculdades

Semana 7 Resolução de Sistemas Lineares

Em linguagem matemática, essa proprieade pode ser escrita da seguinte maneira: x. 1 = x Onde x representa um número natural qualquer.

Regressão, Interpolação e Extrapolação Numéricas

A lei dos senos. Na Aula 42 vimos que a Lei dos co-senos é. a 2 = b 2 + c 2-2bc cos Â

Notas de aula de Lógica para Ciência da Computação. Aula 11, 2012/2

Matemática para a Economia I - 1 a lista de exercícios Prof. - Juliana Coelho

Inteligência de negócios do laboratório DESCUBRA INFORMAÇÕES ÚTEIS DE DADOS OPERACIONAIS DO LABORATÓRIO

Resolução de sistemas de equações lineares: Método de eliminação de Gauss

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

1ª) Lista de Exercícios de Laboratório de Física Experimental A Prof. Paulo César de Souza

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Introdução à Inteligência Artificial 2007/08

UTILIZAÇÃO DE RECURSOS AVANÇADOS DO EXCEL EM FINANÇAS (PARTE III): GERENCIAMENTO DE CENÁRIOS

Modelos de Regressão Linear Simples - Erro Puro e Falta de Ajuste

Matemática Discreta - 08

Exercícios: Recursão

Capítulo VI. Teoremas de Circuitos Elétricos

EXERCÍCIOS DE ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA (sistemas de equações lineares e outros exercícios)

Gerenciamento dos Riscos do Projeto (PMBoK 5ª ed.)

Disciplina: Álgebra Linear - Engenharias ], C = Basta adicionar elemento a elemento de A e B que ocupam a mesma posição na matriz.

Uso de escalas logaritmicas e linearização

Matrizes e Sistemas Lineares. Professor: Juliano de Bem Francisco. Departamento de Matemática Universidade Federal de Santa Catarina.

[RESOLUÇÃO] Economia I; 2012/2013 (2º semestre) Prova da Época Recurso 3 de Julho de 2013

Diagrama de Impedâncias e Matriz de Admitância de um Sistema Elétrico

Análise de Variância (ANOVA)

Técnicas de Contagem I II III IV V VI

CURSO DE MATEMÁTICA BÁSICA PROGRAMA DE EDUCAÇÃO TUTORIAL CENTRO DE ENGENHARIA DA MOBILIDADE

Teste de hipótese em modelos normais lineares: ANOVA

AULA DO CPOG. Progressão Aritmética

TEORIA 5: EQUAÇÕES E SISTEMAS DO 1º GRAU MATEMÁTICA BÁSICA

REGRAS DAS PROVAS RELÂMPAGO

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

BCC202 - Estrutura de Dados I

Inversão de Matrizes

Manual Mobuss Construção - Móvel

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 7

CATEGORIA 2 INICIATIVAS DE INOVAÇÃO

Equivalentes de Thévenin e Norton

Métodos Estatísticos Avançados em Epidemiologia

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Definição de determinantes de primeira e segunda ordens. Seja A uma matriz quadrada. Representa-se o determinante de A por det(a) ou A.

ANEXO III. Roteiro para Apresentação de Projetos do Tipo C R$ ,00 a R$ ,00

GRADUAÇÃO TECNOLÓGICA EM GESTÃO DA PRODUÇÃO INDUSTRIAL GERENCIAMENTO ESTATÍSTICO DOS PROCESSOS PRODUTIVOS (tópicos da aula 3)

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

VIII Oficinas de Formação A Escola na Sociedade da Informação e do Conhecimento praticar ao Sábado. E-learning. 3 de Março de 2007

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

1 O gráfico no plano cartesiano expressa a alta dos preços médios de televisores de tela plana e alta definição, do modelo LCD, full HD, 32

Ondas EM no Espaço Livre (Vácuo)

Planos e Retas. Equações do Plano e da Reta. Anliy Natsuyo Nashimoto Sargeant José Antônio Araújo Andrade Solange Gomes Faria Martins

A camada de Enlace. Serviços e Protocolos

MC Teste de Mesa e Comandos Repetitivos

Transcrição:

Edson Prestes

Programação Dinâmica A programação dinâmica costuma ser aplicada a problemas de otimização resultando, em geral, em algoritmos mais eficientes que os mais diretos. Esse método é útil quando não é fácil chegar a uma seqüência ótima de decisões sem testar todas as seqüências possíveis para então escolher a melhor. A cada passo são eliminadas subsoluções que certamente não farão parte da solução ótima do problema. Ele reduz drasticamente o número total de seqüências viáveis através de um mecanismo que evita aquelas seqüências que sabidamente não podem resultar em seqüências ótimas.

Problema de Multiplicação de Matrizes Consiste em determinar a seqüência ótima de multiplicações de n matrizes Sabemos que Este cálculo exige p.q.r multiplicações. Considere o seguinte exemplo

1a. Maneira A quantidade de operações é dada por = 218000 operações 2a. Maneira A quantidade de operações é dada por = 18150 operações

Para este caso, o algoritmo direto tem complexidade exponencial no número de matrizes Usando a programação dinâmica encontramos um algoritmo de complexidade polinomial. Multiplicação de Matrizes Série de Fibonacci

Multiplicação de Matrizes

Como minimizar ou reduzir a redundância de trabalho? Devemos resolver os problemas menores e utilizá-los para resolver os maiores

Dado o problema Considere o subproblema (ou subseqüência) Com 1 i <j n e custo mínimo dado por i m j.. Considere i m i =0, para i=1,, n

O cálculo de i M j com custo mínimo i m j pode ser decomposto em dois subproblemas. Considere i k<j, logo Onde i M k tem custo mínimo i m k e dimensões b i-1 x b k (k+1) M j tem custo mínimo (k+1) m j e dimensões b k x b j O custo associado ao cálculo de i M k x (k+1) M j, é dado por ( i m k + (k+1) m j ) + ( b i-1 x b k x b j ). O custo mínimo é dado por

Considere o produto das seguintes matrizes Inicialmente temos, i m i =0, para i=1,2 e 3. O produto de 2 matrizes pode ser feito das seguintes maneiras 1 m 2 =2 x 30 x 20 =1200 2 m 3 =30 x 20 x 5=3000

O produto de 3 matrizes pode ser feito das seguintes maneiras Vimos que o custo mínimo é dado por Temos 2 valores possíveis para k, k=1 e k=2. Para k=1 temos 1 m 3 = 1 m 1 + 2 m 3 + 2 x 30 x 5 =300+3000 = 3300 Para k=2 temos 1 m 3 = 1 m 2 + 3 m 3 +2 x 20 x 5 =1200+200 =1400

Este processo assemelha-se ao preenchimento de uma matriz =3300 =1400

O produto de n matrizes A diagonal é inicializada, i m i =0 Os valores para as diagonais superiores são calculados; Após o processo, o resultado final encontra-se no canto superior direito da matriz

u=1 u=2 i=1 i=2 j=2 j=3 j=4 u=1 u=2 j i

Considere Calcule a sequência ótima de multiplicações e o preenchimento da matriz usada na programação dinâmica. Lembre-se da linha 5. Seqüência ótima M = ((M 1 x M 2 )x M 3 )x M 4

Idéias básicas da programação dinâmica Objetiva construir uma resposta ótima através da combinação das respostas obtidas para partes menores do problema (subproblemas). Inicialmente, a entrada é decomposta em partes mínimas e resolvidas. A cada passo, os resultados parciais são combinados dando respostas para os subproblemas cada vez maiores, até que se obtenha uma resposta para o problema original. A decomposição é feita uma única vez e, além disso, os casos menores são tratados antes dos maiores. Este método é chamado ascendente, ao contrário dos métodos recursivos, que são chamados descendentes.